2015-06-22 54 views
0

我有一個AlertDialog包含一個ListView。 ListView上的一個項目有一個EditText。
當cliking的EditText上的鍵盤不會顯示Android - AlertDialog的怪異行爲

EditText的代碼(我不認爲這就是導致問題)

<EditText 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/editableEditText" 
    android:layout_weight="1" 
    android:maxLines="1"/> 
+0

請分享EditText上的代碼。 –

+0

很簡單的東西,看編輯 – Mehdiway

回答

1

嘗試添加以下代碼:

dialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE|WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM); 

應該是這樣。對我來說,工作

編輯:

這是另一種方式,我發現:

Dialog = builder.create(); Dialog.show(); 
    Dialog.getWindow().clearFlags( 
    WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE 
    |WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM); 
Dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_‌​VISIBLE); 
+0

NOP沒有工作,鍵盤仍然不會顯示在EditText焦點 – Mehdiway

+0

嘗試看看我的編輯 –

+0

第一個工作,但__AFTER__ dialog.show() – Mehdiway

1

嘗試使用setSoftInputMode

示例代碼片段 -

AlertDialog.Builder b = new AlertDialog.Builder(this); 
... 

AlertDialog dialog = b.create(); 
dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE); 
dialog.show(); 
+0

沒有爲我工作,鍵盤仍然不會顯示在EditText焦點 – Mehdiway

0

試試看

dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);