安卓软键盘的处理非常糟糕,隐藏显示有时候很难控制。比如我的这种情况,当前对话框下弹出第二层AlertDialog,点击输入框显示软键盘,点击空白区域,dismiss第二层AlertDialog,会发现软键盘没有收起来,而是竟然跑到第一层对话框的后面去了!个人水平有限,我觉得很难处理这个问题,有遇到过同样问题的吗?虽然只是个小Bug,我还是觉得能处理就处理的好……
调试欢乐多
通常alertdialog设置好context,然后show()显示出来,假如alertdialog的布局里有edit,系统就自动弹出键盘供输入了我是反过来的,先把dialog显示出来,然后在添加edit,这就没有键盘了
是不是错过了哪个步骤??大神给我的回复:这是因为alertdialog在show的时候有判断,如果没有et类的view则没有软键盘你只需要在show之后删除这个属性就行了
dialog=...build.show();
dialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);//在show后加上这行即可
https://www.jianshu.com/p/6c9d0412d30f