AlertDilaog Editext点击不能弹出软键盘
来源:互联网 发布:php zip 解压一个文件 编辑:程序博客网 时间:2024/06/01 10:54
在一个Activity里面弹出一个Dialog,使用AlertDialog,代码如下:
final AlertDialog d = new AlertDialog.Builder(context).create();Window window = d.getWindow();window.setContentView(view);d.show();
Dialog使用自定义布局,里面有Editext,Checbox,运行之后发现点击EditText不能弹出软键盘,然后开始各种找问题!
解决思路
1. 怀疑是ChecBox把焦点给抢了,给Editext设置属性 android:focusable="true" android:enabled="true" android:editable="true" android:focusableInTouchMode="true" 清单文件: android:windowSoftInputMode="stateVisible|adjustResize" 同时将CheckBox的这些属性设置为false,并没有什么卵用 2. 手动弹出IM dialog.setOnShowListener(new OnShowListener() { public void onShow(DialogInterface dialog) { InputMethodManager imm = (InputMethodManager) context .getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(input, InputMethodManager.SHOW_IMPLICIT); } }); 同样没有什么卵用 3.找博客 Often you will want to have a Dialog display on top of the current input method, because there is no reason for it to accept text. You can do this by setting theWindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM window flag (assuming your Dialog takes input focus, as it the default) with the following code: getWindow().setFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM,WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);这是默认情况下隐藏软键盘的方法,要重新显示软键盘,要执行下面这段代码:alertDialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM); 代码调用上面的设置之后还是一样,软键盘就是不给弹出了,你妹的!
哥要使出绝招了
在各种折腾无果之后,突然想到之前其他的解决办法:
1.老子不用Dialog了,换PopupWindow,只是想了下,没有尝试!2.不使用AlertDialog,直接使用Dialog,需要设置一下主题或者背景3.记得之前AlertDialog的另外一种用法: final AlertDialog d = new AlertDialog.Builder(context).create(); d.setView(view); d.show(); 直接setView,不用window.setContentView运行之后发现可以弹出软键盘了! 问题解决
问题是解决了,但是还是不知道window.setContentView不行是什么原因造成的!有空研究一下源码!
0 0
- AlertDilaog Editext点击不能弹出软键盘
- Editext不弹出软键盘的方法
- 取消editext 默认焦点获取,不再自动弹出软键盘
- 点击editext以外其他区域 隐藏软键盘
- Android Editext 点击两次后软键盘遮挡 Editext控件的问题
- editext通过接口回调弹出软键盘实现说说评论
- 自定义的AlertDialog里面点击EditText的时候软键盘不能弹出
- EditView点击时软键盘不弹出而不能输入的BUG
- popupwindow中有editext,点击出来软键盘后,popupwindow没法响应键盘回退事件
- 点击EditText不弹出软键盘
- 点击textfield为什么不弹出软键盘
- 点击editText无法弹出软键盘
- 点击textfield不弹出软键盘
- 点击Edittext,禁止软键盘弹出
- android 软键盘不能弹出 问题解决
- Dialog中EditText不能弹出软键盘
- 承接上一篇:说说评论弹出editext,计算软键盘高度,使listview,recyclerview上滑指定高度
- 关于ListView中EditText点击弹出软键盘及软键盘弹出后的焦点问题
- grpc学习笔记--Java版
- (转)第2篇代码结构
- Android客户端HTTP请求异常sendto failed: ECONNRESET (Connection reset by peer)解决方案
- 【POJ 2456 Aggressive cows】+ 二分
- (转)第3篇CSS和UI布局
- AlertDilaog Editext点击不能弹出软键盘
- 不想穷下去就请看!
- 欢迎使用CSDN-markdown编辑器
- ios UITextField实现的UITextInputTraits协议属性
- 基于RTP的H264视频数据打包解包类
- 算法基础(一)——插入排序
- 简图记录-C语言编程规范:可读性、安全性、可移植性
- 转(4)第4篇React-Native布局实战
- python的全局变量与局部变量