EditText的键盘问题

时间:2013-05-30 16:35:51

标签: android android-edittext android-softkeyboard android-keypad

我有一个Dialog,其中我有一个EditText。 我面临的问题是:

1)。当那时显示Dialog键盘不会出现。所以我不得不以编程方式启动键盘。

InputMethodManager immOnResume = (InputMethodManager) getActivity().getSystemService(
                                        Context.INPUT_METHOD_SERVICE);
                        immOnResume.showSoftInput(mEditText,
                                InputMethodManager.SHOW_FORCED);

2)。按主页按钮键盘仍然在主屏幕中可见。我认为,当我以编程方式启动键盘时,我必须以编程方式隐藏键盘。

InputMethodManager immN = (InputMethodManager) getActivity().getSystemService(
                                    Context.INPUT_METHOD_SERVICE);
                    immN.hideSoftInputFromWindow(
                            mEditText.getWindowToken(), 0);

但这些也不起作用。 任何建议如何解决我的问题。

3 个答案:

答案 0 :(得分:0)

尝试

getWindow().setSoftInputMode (WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);

答案 1 :(得分:0)

您可以使用myedittext.requestFocus()

当活动被破坏时,键盘会自动消失。

答案 2 :(得分:0)

如果您的UI是用XML编写的,您可以考虑添加requestFocus标记:

<EditText ...>
    <requestFocus />
</EditText>

当您的对话框打开时,这应该会触发您的EditText字段,这反过来会打开您的键盘。

但是,如果您的UI以编程方式完成

editText.requestFocus()