我正在使用 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);
}
}
});
关于Android:当焦点在 EditText 上时自动显示软键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2403632/