2017-08-16 72 views
0

我想一个网页加载到xamarin应用我mainactivity.cs页面有以下代码xamarin加载网页

public class MainActivity : Activity 
{ 
    WebView webView; 
    protected override void OnCreate(Bundle bundle) 
    { 
     base.OnCreate(bundle); 

     // Set our view from the "main" layout resource 
     SetContentView (Resource.Layout.Main); 

     webView = FindViewById<WebView>(Resource.Id.webView); 
     webView.LoadUrl("https://urlofwebpage"); 

     WebSettings webSettings = webView.Settings; 
     webSettings.JavaScriptEnabled = true; 
    } 
} 

和我main.axml包含此

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:minWidth="25px" 
    android:minHeight="25px"> 
    <android.webkit.WebView 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:id="@+id/webView" /> 
</LinearLayout> 

它似乎建立,但我只有在模拟器中得到一个黑屏

任何人都可以阐明为什么?

+1

你在模拟器中使用什么设备?试用手机,如果试图与平板电脑 –

+0

这是一个Android应用程序 –

回答

0

首先,为您的代码:

WebSettings webSettings = webView.Settings; 
    webSettings.JavaScriptEnabled = true; 

true值未设置为webView.Settings,将其设置为可变webSettings,它们是不同的对象。为了使您的WebViewJavaScriptEnabled,直接像这样的代码:

webView.Settings.JavaScriptEnabled = true; 

我注意到,您的网址是像https://urlofwebpage,对于SSL连接,您可以创建一个WebViewClient为您WebView,然后重写OnReceivedSslError检查错误消息,例如:

webView.SetWebViewClient(new MyWebViewClient()); 

MyWebViewClient是这样的:

public class MyWebViewClient : WebViewClient 
{ 
    public override void OnReceivedSslError(WebView view, SslErrorHandler handler, SslError error) 
    { 
     base.OnReceivedSslError(view, handler, error); 
     switch (error.PrimaryError) 
     { 
      case SslErrorType.Untrusted: 
       //TODO: 
       break; 

      case SslErrorType.Expired: 
       //TODO: 
       break; 

      case SslErrorType.Idmismatch: 
       //TODO: 
       break; 

      case SslErrorType.Notyetvalid: 
       //TODO: 
       break; 
     } 
    } 
} 
+0

我跟着几个教程这一个 https://developer.xamarin.com/recipes/android/controls/webview/load_a_web_page/和这一个 https: //www.youtube.com/watch?v=YwWOAWmNMXQ,它看起来是正确的 –