我用AlertDialog顯示了一個輸入框。當我調用AlertDialog.show()時,對話框裡的EditText自動獲得焦點,但是軟件鍵盤不會自動顯示。
當對話框顯示的時候我怎麼做能夠讓軟件鍵盤自動顯示?(沒有物理/硬件鍵盤)。和當我按下搜索按鈕時調用全局搜索相似,軟件鍵盤是自動顯示的。
你可以在 AlertDialog的EditTex中創建一個焦點監聽,然後獲得AlertDialog的窗口。這樣你就可以通過調用setSoftInputMode來顯示軟件鍵盤。
final AlertDialog dialog= ...;
editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
}
}
});