xamarin加载网页

时间:2017-08-16 14:42:20

标签: xamarin xamarin.android

我正在尝试将网页加载到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>

它似乎构建但我只在模拟器中获得黑屏

任何人都可以阐明原因吗?

1 个答案:

答案 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