我试图从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/