我在 Android 中有一个 webView,我在其中打开了一个 html 网页。但它充满了链接和图像,当我单击其中一个时,它会加载到我的网络视图中。我想禁用此行为,因此如果我单击链接,请不要加载它。我试过这个 解决方案 并为自己做了一些编辑,但没有奏效。我的 webviewclient 代码:
private boolean loaded = false;
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if(loaded == false){
view.loadUrl(url);
loaded = true;
return true;
}else{
return false;
}
}
我的 webview 实现和设置。
WebView wv = (WebView) findViewById(R.id.recipeWv);
ourWebViewClient webViewClient = new ourWebViewClient();
webViewClient.shouldOverrideUrlLoading(wv, URLsave);
wv.setWebViewClient(webViewClient);
wv.setFocusableInTouchMode(false);
wv.setFocusable(false);
wv.setClickable(false);
WebSettings settings = wv.getSettings();
settings.setDefaultTextEncodingName("utf-8");
settings.setLoadWithOverviewMode(true);
settings.setBuiltInZoomControls(true);
示例:如果用户在我的 webview 中打开 StackOverflow 主页并单击其中一个链接(如“问题”),则 webview 应保留在 StackOverflow 主页上。
原文由 Dandelion 发布,翻译遵循 CC BY-SA 4.0 许可协议
您应该将您当前的 url 保存在一个类变量中,并检查它是否与加载的 url 相同。当用户单击链接时,调用
shouldOverrideUrlLoading
并检查网站。是这样的:重要提示: 不要忘记将
WebViewClient
设置为你的WebView
。