我正在尝试将网页加载到xamarin应用程序中,我的mainactivity.cs页面包含以下代码
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>
它似乎构建但我只在模拟器中获得黑屏
任何人都可以阐明原因吗?
答案 0 :(得分:0)
首先,为您的代码:
WebSettings webSettings = webView.Settings;
webSettings.JavaScriptEnabled = true;
true
值未设置为webView.Settings
,它设置为变量webSettings
,它们是不同的对象。要启用JavaScriptEnabled
的{{1}},请直接编码:
WebView
我注意到您的网址与webView.Settings.JavaScriptEnabled = true;
类似,对于ssl连接,您可以为https://urlofwebpage
创建WebViewClient
,然后覆盖WebView
以检查错误消息,例如:
OnReceivedSslError
webView.SetWebViewClient(new MyWebViewClient());
是这样的:
MyWebViewClient