码迷,mamicode.com
首页 > 移动开发 > 详细

android开发之AlertDialog点击按钮之后不消失

时间:2015-07-15 23:00:29      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:android   dialog   alert   

最近有这样一个需求,我需要用户在一个弹出框里输入密码来验证,验证成功当然好说,但是如果验证失败则需要把alertdialog的标题改为“密码错误,请重新输入”,并且这个alertdialog还不能消失,要等待用户继续输入。
那么怎么实现点击确定或者取消按钮之后dialog不消失呢?

// 不关闭dialog
                                                    try {
                                                        // 不关闭
                                                        Field field = dialog
                                                                .getClass()
                                                                .getSuperclass()
                                                                .getDeclaredField(
                                                                        "mShowing");
                                                        field.setAccessible(true);
                                                        field.set(dialog, false);
                                                    } catch (Exception e) {
                                                        e.printStackTrace();
                                                    }

没错,就是利用Java中的反射机制来实现的。
但是这样又出现一个问题,假如我第一次输入密码错误,第二次我不想再输入了,我想退出来,这个时候你会发现无论点击什么按钮都无法让dialog消失,那么怎么实现在点击取消按钮时dialog消失呢?

// 关闭dialog
                                                try {
                                                    // 关闭
                                                    Field field = dialog
                                                            .getClass()
                                                            .getSuperclass()
                                                            .getDeclaredField(
                                                                    "mShowing");
                                                    field.setAccessible(true);
                                                    field.set(dialog, true);
                                                } catch (Exception e) {
                                                    e.printStackTrace();
                                                }

就是这样。

版权声明:本文为博主原创文章,未经博主允许不得转载。若有错误地方,还望批评指正,不胜感激。

android开发之AlertDialog点击按钮之后不消失

标签:android   dialog   alert   

原文地址:http://blog.csdn.net/u012702547/article/details/46896877

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!