我已经尝试过通过将代码插入onCreateOptionsMenu (Menu menu)
而不成功的方法来访问此网站的几种方法。单击菜单按钮时,我想隐藏键盘。
我在菜单上有三个EditText,可在其中写入一些数据,以及用于插入/删除/修改数据库的选项,但是如果单击,键盘不会自动隐藏。
我有这样的事情:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
if(this.getCurrentFocus() != null && this.getCurrentFocus() instanceof EditText){
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(this.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
}
return true;
}
仅在我第一次按下菜单按钮时有效。
谢谢!
最佳答案
将代码移到onOptionsItemSelected
public boolean onOptionsItemSelected(MenuItem item) {
.....
if(this.getCurrentFocus() != null && this.getCurrentFocus() instanceof EditText){
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(this.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
}
return super.onOptionsItemSelected(item);
}