2010-10-04 289 views
11

我需要能够隐藏软键盘来响应点击按钮。我在这个问题上看到了很多帖子,看来解决方案是使用InputMethodManager,但我一直无法为我工作。按说下面会隐藏软键盘:隐藏软键盘

InputMethodManager inputManager = (InputMethodManager) 
     getSystemService(INPUT_METHOD_SERVICE); 

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

然而,这不是为我工作(?可以在任何说明为什么),即使它没有,我希望能够隐藏键盘不管是什么视图有输入,我可能不知道是什么视图。

我发现电话:

inputManager.toggleSoftInput(0, 0); 

将隐藏键盘,如果当前正在显示它。不幸的是,它也会显示它,如果它目前隐藏。因此,为了让我工作,我需要一种方法来确定它是否可见。

任何想法?

感谢

回答

23

你可能也想尝试:

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

嗯,真不错!我想如果我调用正确的函数,这将有所帮助。谢谢。 – 2010-10-04 21:12:13