2

我遇到了一个问题,如果用户输入并点击提交,键盘不会消失,所以我找到了这个代码来解决这个问题(通过将它放在 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 
          }
4

1 回答 1

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);
于 2012-08-07T02:07:59.767 回答