2017-05-02 14 views
0

私はXamarinのAndroid AppでWebviewを持っていますが、Webview.navigateを使用したいときは、これはイベントリストには存在しません。私はユーザーが移動するときにコードを実行したい。しかし、私はナビゲートイベントがないと言ったのと同じです。XamarinネイティブWebview Android

私を助けてください。

答えて

0

私は似たような直面し、カスタム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"); 
+0

はverryありがとうございました!これは私の問題を解決した –

関連する問題