前言 欢迎大家我分享和推荐好用的代码段~~ 声明 欢迎转载,但请保留文章原始出处: CSDN:http://www.csdn.net 雨季o莫忧离:http://blog.csdn.net/luckkof
正文
在开发的时候遇到一个问题,就是一触摸对话框边缘外部,对话框会自动消失。这个问题很纠结啊,查找了一下发现从Android 4.0开始,AlertDialog有了变化,就是在触摸对话框边缘外部,对话框会自动消失,查了源码,找到解决办法: 研究其父类时候发现,可以设置这么一条属性,在AlertDialog.Builder.create()之后才能调用这两个方法 方法一: setCanceledOnTouchOutside(false);调用这个方法时,按对话框以外的地方不起作用。按返回键还起作用 方法二: setCanceleable(false);调用这个方法时,按对话框以外的地方不起作用。按返回键也不起作用 这两个方法都属于Dialog方法,可查阅源码 修改后的源码如下:
<span style="font-size:10px;">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;</span>
|