如何在未聚焦的edittext之后隐藏android中的虚拟键盘

时间:2013-09-19 03:39:45

标签: android android-edittext onfocus virtual-keyboard

我有一个简单的问题,但经过一段时间在互联网上搜索后我无法找到它。希望我能在这里得到答案。

我有一个edittext。每次关注此edittext时,都会显示虚拟键盘。但是,如果我点击了与edittext不同的其他地方,我想键盘将被隐藏。但事实并非如此。我不知道是否有任何像isUnfocus这样的事件或类似的事件,以便我可以隐藏虚拟键盘。

提前致谢。

2 个答案:

答案 0 :(得分:2)

添加此行

android:windowSoftInputMode="stateHidden" 

到您的 AndroidManifeast.xml <Activity></Activity>标记。如果键盘可见,它会在屏幕中的任何位置单击时隐藏键盘。

答案 1 :(得分:1)

刚刚将setOnFocusChangeListener添加到Edittext,。

EditText editTextProfileName = (EditText) view
                    .findViewById(R.id.nameEditText);

            editTextProfileName.setOnFocusChangeListener(new OnFocusChangeListener() {

                public void onFocusChange(View v, boolean hasFocus) {
                      if (!hasFocus) {
                            hideKeyboard();
                        }
                }

                private void hideKeyboard() {
                    if (editTextProfileName != null) {
                        InputMethodManager imanager = (InputMethodManager) getActivity()
                                .getSystemService(Context.INPUT_METHOD_SERVICE);
                        imanager.hideSoftInputFromWindow(editTextProfileName.getWindowToken(), 0);

                    }

                }
            });