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

2018-06-06  本文已影响0人  haorong123

问题

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

上一篇下一篇

猜你喜欢

热点阅读