如何解决如何仅在android中使用按钮关闭警报对话框
我想在用户仅选择框中可用选项之一时关闭警报对话框,并且在他单击警报对话框周围的褪色区域时不关闭。 那么如何防止警报对话框以这种方式关闭?
if (totalCount == 10){
AlertDialog.Builder rateDialog = new AlertDialog.Builder(MainActivity.this);
LayoutInflater layoutInflater = getLayoutInflater();
View view = layoutInflater.inflate(R.layout.rating_deign,null);
rateDialog.setView(view);
final AlertDialog alert = rateDialog.create();
alert.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
alert.show();
btn_rate = view.findViewById(R.id.btn_rate);
close = view.findViewById(R.id.close);
btn_rate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
totalCount = 12;
editor.commit();
alert.cancel();
}
});
close.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
totalCount = 0;
editor.commit();
alert.cancel();
}
});
}
解决方法
alert.setCancelable(false)
您需要添加。
设置对话框是否可取消。默认为真。
,rateDialog.dismiss 是正确答案。
rateDialog.dismiss()
alert.setCancelable(false)
从 setCancelable 开始,您正在最小化对话框而不是关闭。通过设置 setCancelable(false),您可以通过单击除对话框之外的任何活动来取消(消失)对话框。
结论:关闭对话框使用dismiss()。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。