0

我正在开发一个应用程序,我需要打开我自己的自定义软键盘进行文本输入。为此,我将禁用默认软键盘并启用自定义软键盘。它在 Jelly Bean 版本上运行良好。但是,当我在 Nexus 7 Tab Kitkat 版本上运行相同的代码时,它不会隐藏默认软键盘。我正在使用以下代码隐藏默认软键盘:知道他在 Nexus 7 选项卡上的 Kit Kat 版本上不起作用吗?我已经研究了很多,但我一直无法弄清楚。

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

提前致谢

4

2 回答 2

0

您可以尝试以下方法:

public void hideKeyboard(Activity context, View v) {
    InputMethodManager inputMethodManager = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
    inputMethodManager.hideSoftInputFromWindow(v.getWindowToken(), 0);
}
于 2015-01-23T11:20:37.957 回答
0

使用此方法。

public static void hideKeyboard (Context context) {

        try {
            InputMethodManager inputManager = (InputMethodManager) context.getSystemService (Context.INPUT_METHOD_SERVICE);

            View view = ((Activity) context).getCurrentFocus ();
            if (view != null) {
                inputManager.hideSoftInputFromWindow (view.getWindowToken (), InputMethodManager.HIDE_NOT_ALWAYS);
            }
        }
        catch (Exception e) {
            e.printStackTrace ();
        }
    }

PS不要通过任何view。这将自动完成

于 2015-01-23T12:35:49.827 回答