在onClick期间控制软键盘 - Android

时间:2012-08-07 01:41:11

标签: android button onclick android-softkeyboard

我遇到了一个问题,如果用户输入并点击提交,键盘就不会消失,所以我发现这段代码可以解决这个问题(通过将其置于onClick方法中):

        InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);

但是,如果用户手动关闭键盘,然后点击提交,我发现上面的代码会把键盘带回来 - 不好。

问题:

是否有更好的代码可供使用?或者我可以说像=

 if (keyboard = displayed) {
            // do code above
          } else { 
            // do nothing 
          }

1 个答案:

答案 0 :(得分:6)

隐藏键盘:

final InputMethodManager inputMethodManager =
            (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);

inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), 0);

要表明:

final InputMethodManager inputMethodManager =
            (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);

inputMethodManager.showSoftInput(view, InputMethodManager.SHOW_FORCED);