Android Alert Dialog解决点击按钮对话框不关闭的问题
来源:互联网 发布:ubuntu安装飞秋 编辑:程序博客网 时间:2024/05/20 04:31
转自:
http://blog.csdn.net/huangbiao86/article/details/6968167
当我们在用到Android alertDialog创建对话框 的时候,我们会遇到一个问题就是:我们添加的按钮不论是用setNegativeButton还是用setPositiveButton添加的按钮,点击的时候,都会关闭对话框,但是我们的一 些实际需求,就需要保留这个对话框不动,例如输入校验码,密码之类的校验问题,如果用户输入错误,而关闭后弹出对话框,就很别扭了。在网上找了一下,原来在源码中有一个boolean变量是控件对话框的关闭与否的mShowing变量,我们只需要利用反射改变这个变量就可以控制我们的对话框是不是关闭了。所以,我们可以通过手动设置mShowing的值来达到目的。代码如下:
如果点击保持对话框:
- private void keepDialog(DialogInterface dialog) {
- try {
- Field field = dialog.getClass().getSuperclass().getDeclaredField("mShowing");
- field.setAccessible(true);
- field.set(dialog, false);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
相信上面有一定java基础的都能看懂是写的什么,反射这里不多解释,很简单。
mShowing是Dialog类的一个成员变量,在上面的方法中改变之后会影响别的按钮,如现在点击“取消”按钮将不能关闭对话框,解决办法在“取消”的onClick事件中再改变mShowing的值,如下:
如果点击关闭对话框:
- private void distoryDialog(DialogInterface dialog){
- try {
- Field field = dialog.getClass().getSuperclass().getDeclaredField("mShowing");
- field.setAccessible(true);
- field.set(dialog, true);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- Android Alert Dialog解决点击按钮对话框不关闭的问题
- Android Alert Dialog解决点击按钮对话框不关闭的问题
- Android Alert Dialog解决点击按钮对话框不关闭/的问题
- Android Alert Dialog解决点击按钮对话框不关闭/的问题
- Android Alert Dialog点击按钮对话框不关闭
- Android Dialog点击按钮不关闭对话框
- Android Dialog 点击对话框外部区域不关闭的设置
- Easyui dialog对话框遮挡关闭按钮问题的解决
- 点击dialog按钮不关闭dialog
- Android——点击对话框上按钮不关闭对话框
- Android——点击对话框上按钮不关闭对话框
- Android——点击对话框上按钮不关闭对话框
- Android——点击对话框上按钮不关闭对话框
- Android Dialog点击按钮不关闭,控制窗口的显示和关闭
- android Dialog的确定按钮点击后不取消对话框
- android Dialog的确定按钮点击后不取消对话框
- Android Dialog 点击对话框外部区域不关闭的设置,设置view.
- 【Android】AlertDialog点击按钮后不自动关闭对话框
- pdc 与 hdc 转换
- 自定义消息
- Session
- tomcat配置
- vc6 使用richedt2.dll的两种方法
- Android Alert Dialog解决点击按钮对话框不关闭的问题
- 怎样获取屏幕分辨率
- 静态成员(静态成员函数,静态数据成员)的特性
- 对cookie技术、session技术进行小结
- cookie应用 显示上次浏览商品的实现过程
- Java 设计模式 之 桥接模式
- servlet
- 软件开发过程及其组织
- Linux操作系统环境下jdk的配置和tomcat中web项目部署(从U盘中)