2011-09-10 266 views
0

好的,所以我有一個期望從2到6個數字輸入的活動。當用戶完成時,按下按鈕開始處理,然後顯示中間結果。問題是 ,我無法讓鍵盤消失,它覆蓋了顯示結果的Scrollable區域。按下按鈕後隱藏鍵盤

我使用 confirmButton.setOnClickListener(新View.OnClickListener(){ 公共無效的onClick(查看視圖){

 //hide keyboard : 
    getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); 

     // do stuff 
     } 
    }); 

但這並不隱藏鍵盤。 我已經使用確認按鈕 - 因爲一些輸入是可選的,所以我不能依靠焦點改變監聽器或類似的東西,是在按鈕的視圖內影響我的能力,隱藏在父窗口的鍵盤的能力?

或是另一種更險惡的事情嗎?

我可以點擊後退按鈕和鍵盤葉子,或者我可以通過所有預期的輸入點擊「下一步」,然後點擊鍵盤的「確定」,但是這會強制用戶做非自然的事情。

任何想法?

回答

4

要隱藏軟鍵盤,必須使用InputMethodManager。這裏有一個例子:

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(editConfirmPass.getWindowToken(), 0);

+0

的作品 - 非常感謝! – Martin