我在這裏閱讀了一些帖子,也嘗試了谷歌搜索。但我仍然有這個問題:
我做了一個subclassed自定義對話框。它包含一個EditText和一個按鈕(「OK」)。彈出對話框後,我希望自動顯示鍵盤。如何在顯示帶有EditText的對話框後使軟鍵盤出現?
我成功的把這個這樣做:在我的onCreate
imm = (InputMethodManager) EditDialog.this.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_NOT_ALWAYS);
自定義對話框()和
imm.hideSoftInputFromWindow(editText.getWindowToken(), 0);
在我解僱()。
一旦彈出對話框,一旦按下「確定」按鈕,就會打開鍵盤並關閉鍵盤。但是,如果軟鍵盤已打開,並且按下我的手機/模擬器的HOME按鈕,則鍵盤將保持打開狀態,因爲 - 我想 - 我用SHOW_FORCED強制它打開。因此,我試圖隱藏(使用InputMethodManager中的toggleSoftInput())鍵盤,如果它在對話框的父活動onPause()方法中打開的話。這似乎只有使用解決方法纔有可能,如HERE所示。
TL; DR:我想要顯示軟鍵盤時,我的對話框帶有EditText和一個按鈕彈出(專注於EditText)。我得到了這個工作,但它涉及寫很多黑客關閉它正確。
編輯:我根據THIS
可能的重複:https://stackoverflow.com/questions/4258623/show-soft-keyboard-for-dialog/19573049#19573049 – SparK 2015-08-31 12:04:41