Android:如何禁用某些特定页面的webview键盘?
我有一个Android:如何禁用某些特定页面的webview键盘?,android,android-webview,Android,Android Webview,我有一个WebView,它有一个RelativeLayout父对象。 在WebView中,当我单击某个特定按钮时,它会加载另一个url。我想禁用该url上的键盘。我在shouldoverrideurlloading(WebView视图,url)方法中得到的url 但当我点击该页面的文本字段时,键盘仍然显示。 如果我在活动的onCreate()方法上执行了相同的代码,那么它的工作很好 但我的问题是,当我加载页面时,我想在shouldOverrideUrlLoading方法上禁用它。好的,正如你提到
WebView
,它有一个RelativeLayout
父对象。
在WebView
中,当我单击某个特定按钮时,它会加载另一个url。我想禁用该url上的键盘。我在shouldoverrideurlloading(WebView视图,url)方法中得到的url
但当我点击该页面的文本字段时,键盘仍然显示。
如果我在活动的onCreate()
方法上执行了相同的代码,那么它的工作很好
但我的问题是,当我加载页面时,我想在
shouldOverrideUrlLoading
方法上禁用它。好的,正如你提到的,你想隐藏特定链接的键盘,请执行以下操作
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Log.e("Loading URL", url);
view.loadUrl(url);
if(url.equals(yourUrl)){
// hide keyboard
} else {
// unhide keyboard
}
return true;
}
我希望这会有帮助
快乐编码..参考答案我已经试过了,所有的东西都在oncreate方法中工作,但是我想为特定的页面做这件事,什么时候OverrideUrlLoading方法检测我的url。对于其他页面,我想显示我的键盘,但不想显示该页面。
relativeLayout.setDescendantFocusability(ViewGroup.FOCUS_BLOCK_DESCENDANTS);
webView.setFocusable(false);
webView.setFocusableInTouchMode(true);
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Log.e("Loading URL", url);
view.loadUrl(url);
if(url.equals(yourUrl)){
// hide keyboard
} else {
// unhide keyboard
}
return true;
}