问题
弹出对话框,对话框中的EditText在弹出之后虽然已经获得了焦点,但是没有自动弹出键盘,需要再次点击才能弹出键盘,影响了体验。
解决
在网上找了几种解决办法,最后只有下面一种是有效的:来自http://stackoverflow.com/questions/3455235/when-using-alertdialog-builder-with-edittext-the-soft-keyboard-doesnt-pop
就是在Dialog创建之后和显示之前加入让键盘显示的代码:
AlertDialog.Builder b = new AlertDialog.Builder(this);
AlertDialog dialog = b.create();//创建Dialog
//强制让键盘显示出来
dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
//显示对话框
dialog.show();
这种方法算不上一个好的方法,因为并没有从根本上解决问题,只是强制让键盘显示出来,只适用于那些只有EditText的对话框。
网友评论