我试图从onPageFinished方法内部获取String,但是找不到方法
我只想要onPageFinished方法内存在的扩展链接,无论我使用什么字符串,问题都为null

 final WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.setWebViewClient(new WebViewClient());

final String[] finalURL = {""};
String url1 = "https://shorturl.at/bFQW9";
myWebView.loadUrl(url1);

myWebView.setWebViewClient(new WebViewClient() {


    public void onPageFinished(WebView view, String url) {

        finalURL[0] = myWebView.getUrl();


    }
});
System.out.println(finalURL[0]);

最佳答案

您使用了错误的WebViewClient实例,对其进行了两次设置,然后在您设置的第一个WebViewClient实例上加载页面。
另外,在您进行呼叫以将其打印出来时,有可能无法设置finalURL [0]。
以下代码考虑了我所说的内容,应该可以解决您的问题。
您应该处理所有依赖onPageFinished内部的finalURL [0]的事物。

final WebView myWebView = (WebView) findViewById(R.id.webview);
final String[] finalURL = {""};
String url1 = "https://shorturl.at/bFQW9";

myWebView.setWebViewClient(new WebViewClient() {
    public void onPageFinished(WebView view, String url) {
        finalURL[0] = myWebView.getUrl();
        System.out.println(finalURL[0]);
    }
});
myWebView.loadUrl(url1);

关于java - 从onPageFinished方法获取扩展URL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59145628/

10-10 20:16