Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当键盘处于活动状态时,然后触摸屏上的任意位置,关闭键盘_Java_Android_Keyboard_Touch - Fatal编程技术网

Java 当键盘处于活动状态时,然后触摸屏上的任意位置,关闭键盘

Java 当键盘处于活动状态时,然后触摸屏上的任意位置,关闭键盘,java,android,keyboard,touch,Java,Android,Keyboard,Touch,我认为我无法使用正确的词语来找到我想要的代码,因为我认为这是可行的 我只想从android关闭键盘视图,如果我按下键盘以外的任何键。在键盘上方实际上 例如,当我在编辑视图中时,完成编辑。这是您应该用来隐藏软键盘的功能 public static void hideSoftKeyboard(Context context){ InputMethodManager inputMethodManager = (InputMethodManager) context .g

我认为我无法使用正确的词语来找到我想要的代码,因为我认为这是可行的

我只想从android关闭键盘视图,如果我按下键盘以外的任何键。在键盘上方实际上


例如,当我在编辑视图中时,完成编辑。

这是您应该用来隐藏软键盘的功能

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;
    }
};