美文网首页
dialog中的edittext弹出时获得焦点并弹出软键盘

dialog中的edittext弹出时获得焦点并弹出软键盘

作者: haorong123 | 来源:发表于2018-06-06 17:56 被阅读0次

问题

弹出对话框,对话框中的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的对话框。

相关文章

网友评论

      本文标题:dialog中的edittext弹出时获得焦点并弹出软键盘

      本文链接:https://www.haomeiwen.com/subject/ahhisftx.html