我有一个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);
但这些也不起作用。 任何建议如何解决我的问题。
答案 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()