我用AlertDialog
来显示一个输入框.当我拨打AlertDialog.show()
时,对话框中的EditText
会自动聚焦,但软键盘不会自动显示.
如何使软键盘在显示对话框时自动显示?(而且没有物理/硬件键盘).类似于我按下搜索按钮调用全局搜索时,软键盘会自动显示.
我用AlertDialog
来显示一个输入框.当我拨打AlertDialog.show()
时,对话框中的EditText
会自动聚焦,但软键盘不会自动显示.
如何使软键盘在显示对话框时自动显示?(而且没有物理/硬件键盘).类似于我按下搜索按钮调用全局搜索时,软键盘会自动显示.
你可以在AlertDialog
上的EditText
上创建一个焦点监听器,然后得到AlertDialog
的Window
.在那里,你可以通过拨打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);
}
}
});