Java 当键盘处于活动状态时,然后触摸屏上的任意位置,关闭键盘
我认为我无法使用正确的词语来找到我想要的代码,因为我认为这是可行的 我只想从android关闭键盘视图,如果我按下键盘以外的任何键。在键盘上方实际上Java 当键盘处于活动状态时,然后触摸屏上的任意位置,关闭键盘,java,android,keyboard,touch,Java,Android,Keyboard,Touch,我认为我无法使用正确的词语来找到我想要的代码,因为我认为这是可行的 我只想从android关闭键盘视图,如果我按下键盘以外的任何键。在键盘上方实际上 例如,当我在编辑视图中时,完成编辑。这是您应该用来隐藏软键盘的功能 public static void hideSoftKeyboard(Context context){ InputMethodManager inputMethodManager = (InputMethodManager) context .g
例如,当我在编辑视图中时,完成编辑。这是您应该用来隐藏软键盘的功能
public static void hideSoftKeyboard(Context context){
InputMethodManager inputMethodManager = (InputMethodManager) context
.getSystemService(Activity.INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(context.getCurrentFocus()
.getWindowToken(), 0);
}
我到底应该在哪里使用这种方法呢?你必须应用某种触摸式监听,尤其是在视图上单击一次,可能是你活动中的父视图,单击后你想在其上隐藏键盘。给我看看你的布局,我会告诉你,它似乎不适合我。当我单击EditView,然后单击屏幕上的任意位置时,键盘仍停留在那里。以下是我要查找的内容:
EditText myEditText = (EditText) findViewById(R.id.myEditText);
InputMethodManager imm = (InputMethodManager)getSystemService(
Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0);
EditText myEditText = (EditText) findViewById(R.id.myEditText);
myEditText.setOnEditorActionListener(onEditorActionListener);
protected OnEditorActionListener onEditorActionListener = new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_DONE) {
resetTimeout();
InputMethodManager imm = (InputMethodManager)this.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
v.clearFocus();
}
return false;
}
};