Android 在三星设备上打开对话框后关闭软键盘
我有一个包含编辑文本的对话框(Android 在三星设备上打开对话框后关闭软键盘,android,keyboard,android-softkeyboard,Android,Keyboard,Android Softkeyboard,我有一个包含编辑文本的对话框(inputType=“number”)。对话框关闭后,我想隐藏键盘,如果对话框的编辑文本在某个点处于焦点,键盘将打开 现在的问题是,我有一个可行的方法(至少在一些Nexus设备上),除了三星设备(至少是S2、S3) 在其他设备上,键盘(仅数字)在对话框结束后关闭。 在三星设备上,键盘只是变成了一个包含所有字母(inputType=“text”)的键盘,而不是inputType=“numbers”的键盘。我想让它关闭/隐藏 我不能做这样的事 getWindow().s
inputType=“number”
)。对话框关闭后,我想隐藏键盘,如果对话框的编辑文本在某个点处于焦点,键盘将打开
现在的问题是,我有一个可行的方法(至少在一些Nexus设备上),除了三星设备(至少是S2、S3)
在其他设备上,键盘(仅数字)在对话框结束后关闭。
在三星设备上,键盘只是变成了一个包含所有字母(inputType=“text”)
的键盘,而不是inputType=“numbers”
的键盘。我想让它关闭/隐藏
我不能做这样的事
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT\u输入\u状态\u始终隐藏)
对于后台的活动,因为我也需要一个键盘
有人知道如何处理这个三星特有的问题吗 使用此代码
InputMethodManager inputMethodManager=(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
我没有三星设备来测试我的代码,但我正在使用EditText中的WindowToken来隐藏软键盘。 我的代码如下所示:
View focused = getCurrentFocus();
if (focused != null) {
InputMethodManager iM = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
iM.hideSoftInputFromWindow(focused.getWindowToken(), 0);
}
希望它能起作用:)哇!这很有效,答案来得很快,非常感谢!我搜索了很多,每个人都给出了同样的答案,但都不起作用。我必须等待3分钟,然后我可以将此答案标记为正确答案:)这没有帮助,因为如果键盘不可见,它会使键盘出现。我也尝试过此方法,hideSoftInputFromWindow在我的上下文中从来都不起作用。谢谢你的回答!
View focused = getCurrentFocus();
if (focused != null) {
InputMethodManager iM = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
iM.hideSoftInputFromWindow(focused.getWindowToken(), 0);
}