zoukankan      html  css  js  c++  java
  • Android中Alertdialog对话框点击消失?

           在开发的时候遇到一个问题,就是一触摸对话框边缘外部,对话框会自动消失。这个问题很纠结啊,查找了一下发现从Android 4.0开始,AlertDialog有了变化,就是在触摸对话框边缘外部,对话框会自动消失,查了源码,找到解决办法:

     

           研究其父类时候发现,可以设置这么一条属性,在AlertDialog.Builder.create()之后才能调用这两个方法

     

    方法一:

    setCanceledOnTouchOutside(false);调用这个方法时,按对话框以外的地方不起作用。按返回键还起作用

    方法二:

    setCancelable(false);调用这个方法时,按对话框以外的地方不起作用。按返回键也不起作用

    这两个方法都属于Dialog方法,可查阅源码

     

    修改后的源码如下:

     

    case 1:
                        dismissDialog(1);
                        new Builder(SplashActivity.this).setTitle("提示").setCancelable(false)
                                .setMessage("获取软件初始化信息失败!\n请检查网络是否通畅。")
                                .setPositiveButton("确认", new OnClickListener() {
                                    @Override
                                    public void onClick(DialogInterface dialog, int which) {
                                        dialog.dismiss();
                                        SplashActivity.this.finish();
                                    }
                                }).show();
                        
                        break;

     

     

  • 相关阅读:
    图片上传-下载-删除等图片管理的若干经验总结3-单一业务场景的完整解决方案
    图片上传-下载-删除等图片管理的若干经验总结2
    HDU 1195 Open the Lock
    HDU 1690 Bus System
    HDU 2647 Reward
    HDU 2680 Choose the best route
    HDU 1596 find the safest road
    POJ 1904 King's Quest
    CDOJ 889 Battle for Silver
    CDOJ 888 Absurdistan Roads
  • 原文地址:https://www.cnblogs.com/yejiurui/p/2986083.html
Copyright © 2011-2022 走看看