无法在Nexus 7选项卡中以编程方式隐藏默认软键盘

时间:2015-01-23 11:16:59

标签: android keyboard android-softkeyboard window-soft-input-mode

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

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

提前致谢

2 个答案:

答案 0 :(得分:0)

您可以尝试以下操作:

public void hideKeyboard(Activity context, View v) {
    InputMethodManager inputMethodManager = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
    inputMethodManager.hideSoftInputFromWindow(v.getWindowToken(), 0);
}

答案 1 :(得分: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 ();
        }
    }

P.S。 Donot通过任何view。这将自动完成