我遇到了一个问题,如果用户输入并点击提交,键盘就不会消失,所以我发现这段代码可以解决这个问题(通过将其置于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
}
答案 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);