Android 在带有 EditText 的对话框中隐藏软键盘

标签 android keyboard

我有一个包含 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/

相关文章:

android - 在 PC 上显示 Android 屏幕

android - 我如何创建一年中所有月份的 View 或布局,如 CalendarView?

ios - 如何检测数字和十进制键盘 iOS

Android:使用我的 .apk 添加一些文件

android - SQLiteDatabase Android 性能问题

Android 应用程序在引用辅助屏幕上的后退按钮时挂起

iOS 9 - UIAlertView 关闭后键盘弹出

ios - 适用于 iOS 的自定义键盘

在 Ubuntu 中使用计算机键盘的 Android edittext

c++ - 在 WM_INPUT 消息中寻找键重复数据