您的位置:首页 > 编程语言

AlertDialog弹出的对话框让点击其他按钮关闭对话框失效,而通过代码控制关闭。

2016-12-30 09:54 756 查看
            分析:AlertDialog 弹出的对话框点击任何按钮会自动关闭是由于系统决定的,分析源码可以知道, AlertDialog中有一个mShowing变量,改变量为true时表示对话框正在显示,系统会关闭对话框。如果mShowing变量为false,系统就不会自己关闭对话框了。

        通过反射来获得该变量进行修改;

          try{

             Field field = dialog.getClass().getSuperclass( ).getDeclaredField("mShowing");

            //将mShowing 变量设为false,好让系统对话框已经关闭

            field.set(dialog,false);

            }

           catch(Exception e)

         {

         }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: