2016-09-13 6 views
0

私のアプリではアンドロイドWebViewに問題があります。私はWebView(Aと呼ばれる)を含む断片を持っています。ユーザーがA内のリンクをクリックすると検出でき、このリンクは外部のWebView(「B」と呼ばれます)で開きます。しかし、私が私のリンクに戻ると、 'A'もリンクをロードしました。ユーザーがリンクをクリックしたときに読んでいたウェブページに「A」が残っている必要があります。 私は次のメソッドをオーバーライドしています:アンドロイドは外部の `WebView`でリンクをオープンし、内部のwebviewでロードします

myWebView.setWebViewClient(new WebViewClient() { 
@Override 
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { 
      return false; 
     } 

@Override 
public void onLoadResource(WebView webView, String url) { 
     //launch the url in an outer webview 
     Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); 
     startActivity(i); 

    } 
}); 

私はUrlLoadingがtruefalseを返す、と関係なく返却されたどの値、私のアプリは、常に「A」のWebView内のURLをロードされていないオーバーライドする必要があります試してみました。私はリンクが 'B'ウェブビューでのみロードする必要があります

答えて

0

shouldOverrideUrlLoading()メソッドで行うことができます。下記参照。

boolean isLoadingFirstTime = true; 
    myWebView.setWebViewClient(new WebViewClient() { 
       @Override 
       public boolean shouldOverrideUrlLoading(WebView view, String url) { 
        if (isLoadingFirstTime) { 
         isLoadingFirstTime = false; 
         view.loadUrl(url); // When you load your url 
        } else { 
         startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url))); // When user clicks on any link 
        } 
        return true; 
       } 
      }); 
+0

shouldOverrideUrlLoadingは推奨されません。 – statosdotcom

関連する問題