如何在第一次完成后加载第二个URL

时间:2016-08-25 14:20:45

标签: android webview

我想在第一个网址加载后加载第二个网址,但它无法正常工作,  为什么他只留在第一个网址?  这是我的代码:

 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);

    }

}

它没有用,如果有任何想法请帮帮我。提前谢谢。

1 个答案:

答案 0 :(得分: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++]);
    }

}