gpt4 book ai didi

android - 如何使 WebView 可点击 False 和 True

转载 作者:太空狗 更新时间:2023-10-29 16:19:18 26 4
gpt4 key购买 nike

我在我的应用程序中使用 Web View ,一切正常,但我遇到了小问题。当 Url 包含 Disclaimers 时,我不应该允许 web-view 应该是可点击的。但在所有其他情况下, WebView 应该是可点击的。

 @Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if(url.contains("Disclaimers")){
view.setClickable(false);

//Here clickable should be fasle.

return true;
}else{
// In this clickable should be true.
view.setClickable(true);

if(!url.contains("/Home.mvc/Trade")){
showProgressLayout();
}
if(url.contains("/Home.mvc/Trade")){
openTradeScreen(url);
}else{
view.loadUrl(url);
}
return true;
}
}

最佳答案

我知道这是一个老问题,但其他人也可能会发现 this answer here有用。似乎比将 just clickable 设置为 false 更能解决问题。

为了懒惰,我将从这里的答案中复制解决方案(针对这种情况进行编辑,假设 view 是 webview):)

view.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
return true;
}
});

原答案也给出了如下解释:

Disables all touch events on a WebView because the touch listener is executed before the default touch behavior of the WebView. By returning true the event is consumed and isn't propagated to the WebView.

Using android:clickable="false" does not disable touch events.

关于android - 如何使 WebView 可点击 False 和 True,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19223824/

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