簡體   English   中英

Xamarin本機Webview Android

[英]Xamarin Native Webview Android

我的Xamarin Android應用程序中有一個Webview,但是當我想使用Webview.navigate時,它不存在於事件列表中。 我想在用戶導航時執行代碼。 但是就像我說的,我沒有導航事件。

請幫我。

我面臨着類似的問題,並設法通過實現自定義WebViewClient並通過使用SetWebViewClient方法設置WebViewWebViewClient來解決該問題 以下面的代碼為例:

public class CustomWebViewClient : WebViewClient
{
    public event EventHandler<bool> OnPageLoaded;

    public override bool ShouldOverrideUrlLoading(WebView view, IWebResourceRequest request)
    {
        view.LoadUrl(request.Url.ToString());
        return true;
    }

    public override void OnPageStarted(WebView view, string url, global::Android.Graphics.Bitmap favicon)
    {
        base.OnPageStarted(view, url, favicon);
    }

    public override void OnPageFinished(WebView view, string url)
    {
        OnPageLoaded?.Invoke(this, true);
    }

    public override void OnReceivedError(WebView view, IWebResourceRequest request, WebResourceError error)
    {
        OnPageLoaded?.Invoke(this, false);
    }
}

在您的活動上:

var wbMain = FindViewById<WebView>(Resource.Id.wbMain);
var customWebViewClient = new CustomWebViewClient();

customWebViewClient.OnPageLoaded += CustomWebViewClient_OnPageLoaded;

wbMain.SetWebViewClient(customWebViewClient);
wbMain.LoadUrl("http://the.page.to.load");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM