2016-08-25 17 views
0

最初のURLの読み込み後に2番目のURLをロードしたいのに動作していません。なぜ最初のURLにしか残らないのですか?それは働いていない最初の終了後に2番目のURLを読み込む方法

webView = (WebView) findViewById(R.id.wvDisplay); 
    // Enable Javascript 
    webView.getSettings().setJavaScriptEnabled(true); 
    webView.getSettings().setDomStorageEnabled(true); 
    webView.setWebViewClient(new MyBrowser()); 

    String url ="http://www.google.com"; 


    if (!url.startsWith("http://") && !url.startsWith("https://")) 
     url = "http://" + url; 



      webView.getSettings().setLoadsImagesAutomatically(true); 
    webView.getSettings().setJavaScriptEnabled(true); 
    webView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY); 
    webView.loadUrl(url); 

} 

private class MyBrowser extends WebViewClient { 


    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     view.loadUrl(url); 
     return true; 

    } 
    public void onPageFinished(WebView view, String url) { 

      super.onPageFinished(view, url); 
      String url2="http://www.facebook.com"; 
      webView.loadUrl(url2); 

    } 

} 

、任意のアイデアを持っている場合は、私を助けてください: はここに私のコードです。前もって感謝します。

+0

それはその後、URL2、その後URLをロードするので、それが働いていない理由は、 url2 then url2そしてそれはループですので、url2が最初に読み込みを終了すると、それが何度も読み込まれるようになります。最後に何も表示されません。なぜなら、それは速すぎるためです。 – Tudor

+0

はい、まったく同じようにシードしていますが、最初のURLをロードしたいときにロードしたときにurl2がロードされます。 –

+0

次に、onPageFinished(...){...}を削除して、webView.loadUrl(url); webView.loadUrl(url2); – Tudor

答えて

0

このコードは、あなたが&修正が必要なものを作るあなたの活動のメモリリーク(内部クラスは、活動に静的であるか、他のメモリリークである必要があります)

private static class MyBrowser extends WebViewClient { 
    private String[] mStrings = {"http://www.facebook.com"}; 
    private int index = 0; 

    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     view.loadUrl(url); 
     return true; 
    } 

    public void onPageFinished(WebView view, String url) { 
     super.onPageFinished(view, url); 
     if (index < mStrings.length) 
      view.loadUrl(mStrings[index++]); 
    } 

} 
+0

多くのタンクは今問題が修正されています –

関連する問題