2010-10-04 327 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