我有一个包含 EditText 的自定义对话框。现在,每当我使用Dialog.show();
显示对话框时,EditText 会立即获取焦点并显示软键盘。我试图将其添加到 list 中:
android:windowSoftInputMode="stateHidden"
基于这个答案:https://stackoverflow.com/a/2611031/3011902
我还在 EditText 上尝试了以下操作:
EditText.setSelected(false);
和:
LinearLayout hidden = (LinearLayout) loginDialog.findViewById(R.id.hidden);
hidden.setVisibility(View.INVISIBLE);
hidden.setFocusable(true);
hidden.requestFocus();
loginDialog.show();
我还尝试在显示对话框后立即手动隐藏键盘,但这感觉有点不合理。有什么简单的方法可以仅在选择对话框的 EditText 时显示键盘。
最佳答案
您可以尝试通过添加
将焦点重定向到另一个 View 或自定义对话框中的不可见 View
android:focusable="true"
和 android:focusableInTouchMode="true"
或者
setFocusable(true)
和 setFocusableInTouchMode(true)
如果您对我的回答有任何疑问,请随时在评论中提问!
关于Android 在带有 EditText 的对话框中隐藏软键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26132801/