这个问题之前一直困扰我,我的需求就是点击对话框外面和按返回键对话框不会消失,按返回键还好解决,拦截下返回键就OK了。

但是点击外面不好解决。之前有人说模态对话框,我看了一会,觉得不是我想要的效果。popWindow的话,必须提供父view.

重新看下api,发现设置setCancelable属性就行了。

如:

    public void showNoProject(){
Builder builder = new AlertDialog.Builder(MainActivity.this)
.setMessage("您还没有项目,请先添加项目")
.setPositiveButton("去添加项目", new OnClickListener() { @Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss(); }
})
.setNegativeButton("关闭", new OnClickListener() { @Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss(); }
});
builder.setCancelable(false);
builder.show();
}

Android 使alertDialog.builder不会点击外面和按返回键消失-LMLPHP

05-11 20:14