按主页按钮后如何在android中隐藏键盘

时间:2014-07-09 11:01:43

标签: java android listview android-arrayadapter android-keypad

我正在显示一个包含消息的列表,每条消息的行都有一个注释按钮。当我点击评论按钮时,会打开一个带有编辑文本的注释框和用于提交评论的按钮。当评论框出现在屏幕键盘上时也会出现输入文本。如果我在输入文本之前按下主页按钮,那么应用程序会显示背景但是键盘仍然在屏幕上。这是令我恼火的事情。对于自定义列表我使用自定义适配器并且注释框的代码写在该适配器中我试过用

inputmgr.hideSoftInputFromWindow(txtComments.getWindowToken(),0);

但它不起作用。所以我如何以编程方式隐藏这个键盘。

3 个答案:

答案 0 :(得分:0)

尝试使用https://stackoverflow.com/a/1109108/1904479中的代码。希望您没有在Android 4.1版中进行测试。

答案 1 :(得分:0)

KeyEvent.KEYCODE_HOME无法截获。您可以在活动的inputmgr.hideSoftInputFromWindow(getWindow().getDecorView().getWindowToken(), 0);方法中隐藏小键盘onStop()

它不需要来自焦点视图editText的令牌。

答案 2 :(得分:0)

请使用此方法隐藏软键盘。

public static void hideSoftKeyboard(Activity context) {
        InputMethodManager inputManager = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
        if (inputManager != null)
        inputManager.hideSoftInputFromWindow(context.getWindow().getDecorView().getApplicationWindowToken(), 0);
        context.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

    }