سؤال

I want to get the url of the webview. However, the method calls before the page is done loading so it always returns with null. Any way around this? Thanks.

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

webView.loadUrl(myURL);

//page is not done loading yet
String url = webView.getUrl(); //returns null
هل كانت مفيدة؟

المحلول

Try adding a WebViewClient and overriding the onPageFinished(...) method. I've never done it but something like this might work...

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

نصائح أخرى

Create a subclass of WebViewClient which overrides onPageStarted(webView, url, favicon) and set it to your WebView (using setWebViewClient()).
You'll have the url of the page which is loading or displayed.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top