隐藏软键盘

11

我需要在点击按钮时隐藏软键盘。我已经看到了许多关于这个问题的帖子,似乎解决方案是使用InputMethodManager,但是我无法使其对我起作用。据说以下内容将隐藏软键盘:

  InputMethodManager inputManager = (InputMethodManager) 
         getSystemService(INPUT_METHOD_SERVICE);

  inputManager.hideSoftInputFromInputMethod(editView.getWindowToken(), 0);

然而,这对我来说不起作用(有人能建议为什么吗?),即使它起作用了,我也想无论哪个视图具有输入,都能隐藏键盘,而且我可能不知道那是哪个视图。

我发现调用以下代码:

inputManager.toggleSoftInput(0, 0);

如果键盘当前正在显示,它将隐藏键盘。不幸的是,如果键盘当前已被隐藏,它也会显示出来。因此,为了使它对我有用,我需要一种确定它当前是否可见的方法。

有什么想法吗?

谢谢

1个回答

23

您可能想尝试:

InputMethodManager inputManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
inputManager.hideSoftInputFromWindow(editView.getWindowToken(), 0);

1
嗯,当然!如果我调用正确的函数会有所帮助。谢谢。 - John Gaby

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接