0

我有一个简单的问题,但是在互联网上搜索了一段时间后,我在任何地方都找不到。希望我能在这里得到答案。

我有一个编辑文本。每次当这个edittext被聚焦时,虚拟键盘就会显示出来。但是,如果我单击不同于edittext 的其他位置,我想键盘将被隐藏。但它没有。我不知道edittext是否有类似isUnfocus或类似的事件,以便我可以隐藏虚拟键盘。

提前致谢。

4

2 回答 2

2

添加这一行

android:windowSoftInputMode="stateHidden" 

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

于 2013-09-19T04:28:15.440 回答
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);

                    }

                }
            });
于 2013-09-19T05:18:27.323 回答