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;
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。