gpt4 book ai didi

android - shouldOverrideUrlLoading() 永远不会被调用

转载 作者:行者123 更新时间:2023-11-29 14:53:11 24 4
gpt4 key购买 nike

如果我单击 web View 中的链接,则 shouldOverrideUrlLoading() 永远不会被调用。(它不显示 toast 或记录任何内容)。我也尝试过 onPageFinished 并且它也没有被调用。我读过其他帖子,其中用户遇到问题,有时不调用它,但在我的情况下,它被完全忽略了。

    webview = new WebView(MyActivity.this);

webview.getSettings().setBuiltInZoomControls(true);
webview.getSettings().setDisplayZoomControls(false);
webview.loadData(Html.getHtml(), "text/html", "UTF-8");
webview.getSettings().setJavaScriptEnabled(true);
webview.setWebViewClient(new WebViewClient() {

@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
new M("shouldOverrideUrlLoading",getApplicationContext());
Log.v("ESSE3", "shouldOverrideUrlLoading()");

System.out.println(url);

System.out.println(Html.getHtml());
webview.loadData(Html.getHtml(), "text/html", "UTF-8");
return true;

}
});
webview.setWebViewClient(new WebViewClient());
setContentView(webview);

尝试启用/不启用 javascript 或在方法中返回 true 或 false。

最佳答案

您调用 setWebViewClient() 两次。一次使用您的覆盖方法,一次使用空的 WebViewClient!这就是为什么您的方法没有被调用的原因。

webview.setWebViewClient(new WebViewClient() {

@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
....
}
});
webview.setWebViewClient(new WebViewClient());

关于android - shouldOverrideUrlLoading() 永远不会被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12478414/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com