Android - 使用AlertDialog的奇怪行为

时间:2015-06-22 12:28:22

标签: android alertdialog android-softkeyboard

我有一个包含ListView的AlertDialog。 ListView上的一个项目有一个EditText 当克隆EditText时,键盘将不会显示

EditText的代码(我认为这不是造成问题的原因)

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

3 个答案:

答案 0 :(得分:1)

尝试使用setSoftInputMode

示例代码段 -

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

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

答案 1 :(得分: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);

答案 2 :(得分:0)

试一试

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