WebView.getUrl()返回null,因为页面未完成加载

时间:2012-12-08 00:12:42

标签: android webview geturl

我想获得webview的网址。但是,方法在页面加载之前调用,因此它始终返回null。有什么方法吗?感谢。

WebView webView = new WebView(this);
setContentView(webView);

webView.loadUrl(myURL);

//page is not done loading yet
String url = webView.getUrl(); //returns null

2 个答案:

答案 0 :(得分:2)

尝试添加WebViewClient并覆盖onPageFinished(...)方法。我从来没有这样做过,但这样的事情可能有用......

String theUrl;
WebView webView = new WebView(this);
setContentView(webView);

webview.setWebViewClient(new WebViewClient() {

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

});

webView.loadUrl(myURL);

答案 1 :(得分:2)

创建WebViewClient的子类,该子类会覆盖onPageStarted(webView, url, favicon)并将其设置为WebView(使用setWebViewClient())。
您将拥有该网址的网址正在加载或显示的页面。