我试过这个。它适用于三星平板电脑。
在页面1_4.html我必须隐藏键盘和2.html我必须显示 键盘。
在文本框中单击webview中的
注意:Android活动是相同的。
我在
上调用此代码webView.setOnTouchListener
if (value.equals("1") || value.equals("4")) {
getWindow().setFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM,WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
} else if(value.equals("2")) {
getWindow().clearFlags( WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
}
但它不适用于任何手机。它给了我警告
W / InputMethodManager(25060):startInputInner:InputBindResult == null
我有谷歌。但没有找到任何有用的东西。
我现在该怎么办?任何帮助都会得到赞赏。
答案 0 :(得分:2)
要打开键盘,请尝试此
webview.postDelayed(new Runnable() {
@Override
public void run() {
InputMethodManager keyboard = (InputMethodManager)
MainActivity.this.getSystemService(Context.INPUT_METHOD_SERVICE);
keyboard.showSoftInput(webview, 0);
}
},100);
要关闭键盘,请尝试此
InputMethodManager inputMethodManager = (InputMethodManager)MainActivity.this.getSystemService(Activity.INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(MainActivity.this.getCurrentFocus().getWindowToken(), 0);
答案 1 :(得分:0)
尝试此代码:这适用于所有设备。
try
{
if(isopen)
{
// to hide keyboard
InputMethodManager inputMethodManager = (InputMethodManager)context.getSystemService(Activity.INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(activity.getCurrentFocus().getWindowToken(), 0);
}else{
// to open keyboard
InputMethodManager inputMethodManager=(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.toggleSoftInputFromWindow(linearLayout.getApplicationWindowToken(), InputMethodManager.SHOW_FORCED, 0);
}
}
catch (NullPointerException e)
{
}
catch (Exception e)
{
}