我的 Xamarin Android 应用程序中有一个 Webview,但是当我想使用 Webview.navigate 时,它不存在于事件列表中。我想在用户导航时执行代码。但就像我说的,我没有导航事件。
请帮我。
我遇到了类似的问题,并设法通过实现自定义WebViewClient并使用以下方法设置WebView的WebViewClient来解决它:SetWebViewClient。以这个代码为例:
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");
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句