2012-08-07 78 views
2

我有一个问题,如果用户键入并点击提交,键盘不会消失,所以我发现这个代码来解决这个问题(通过放置在onClick方法):onClick控制软键盘 - Android

 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

虽然我不知道回答你的问题,使如果(键盘=显示)变成 - 如果(键盘==显示),确保将其改变为仅仅防止将来的错误。 :) – corecase 2012-08-07 02:00:00

+0

啊,当然。我想我会得到那个但很好的电话! – KickingLettuce 2012-08-07 02:12:35

回答

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); 
+0

完美,谢谢! – KickingLettuce 2012-08-07 02:12:55

+0

在Android 6.0.1上显示键盘不适用于我! – santafebound 2015-12-11 10:15:30