Android:隐藏软输入键盘

时间:2014-03-05 13:52:43

标签: android android-softkeyboard

我需要隐藏软键盘以响应单击按钮。 我看到了一些关于这个的帖子,我尝试了:

InputMethodManager im = (InputMethodManager) getSystemService(
    Context.INPUT_METHOD_SERVICE);
im.hideSoftInputFromWindow(myEditText1.getWindowToken(), 0);

效果很好。但现在我有两个EditText视图。无论选择哪种EditText,我现在如何隐藏软键盘?我也尝试了

InputMethodManager im = (InputMethodManager) getSystemService(
    Context.INPUT_METHOD_SERVICE);
im.hideSoftInputFromWindow(myEditText1.getWindowToken(), 0);
im.hideSoftInputFromWindow(myEditText2.getWindowToken(), 0);

,但这没效果......

感谢您的帮助!

修改 找到解决方案发表于以下。

3 个答案:

答案 0 :(得分:6)

您无需指出具体视图。在使用它并工作:)

InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
    inputMethodManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);

答案 1 :(得分:2)

解决方案是不从EditText获取窗口令牌,而是从隐藏键盘本身的按钮获取窗口令牌:

InputMethodManager im = (InputMethodManager) getSystemService(
    Context.INPUT_METHOD_SERVICE);
im.hideSoftInputFromWindow(hideKeyboardButton.getWindowToken(), 0);

答案 2 :(得分:0)

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

你可以"玩"用参数来实现你想要的任何东西。 希望这有帮助!