我有一个EditText
在一个AlertDialog
。
当显示AlertDialog
时,要显示软键盘,我调用
alertDialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
在打电话之前
alertDialog.show();
到目前为止,一切都很顺利。但是同样的代码在Android 9 (API 28)上不起作用。似乎EditText
不会自动聚焦,因此不会显示软键盘。
我如何解决这个问题,以便当AlertDialog
显示在Android9上时,软键盘会自动显示?
发布于 2018-11-04 11:22:26
我只需打电话就能解决这个问题
editText.requestFocus();
在显示警报之前。
发布于 2018-10-25 05:31:35
它有多种解决方案:
First:
<EditText ...>
<requestFocus />
</EditText>
第二版:
<Your Layout
android:focusable="true"
android:focusableInTouchMode="true"
android:clickable="true"
android:layout_width="0px"
android:layout_height="0px" />
Ie:下面两行,您可以将它添加到父布局中
android:focusable="true"
android:focusableInTouchMode="true"
第三版:
editText.setFocusable(true);
Forth:
<EditText ...>
android:focusable="true"
</EditText>
而且有许多不同的方式都是可取的。
https://stackoverflow.com/questions/52977486
复制相似问题