Android关闭AlertDialog的方法

本文介绍了一个在使用Android的AlertDialog.Builder创建对话框时遇到的问题:如何正确关闭对话框。通过演示代码,作者分享了自己找到的解决方案,包括使用builder.show()方法来激活对话框并使其可用。同时,还提供了解决方案的实现细节,如设置对话框不可通过屏幕点击或返回键关闭,并通过按钮事件来关闭对话框。此外,还提到了如何使用Builder的setNegativeButton、setPositiveButton和setNeutralButton方法来添加关闭对话框的选项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

新手第一帖,大神们见笑了!希望大家补充更好的方法!!
最近写了个AlertDialog dialog对话框,通过android.app.AlertDialog.Builder builder = new AlertDialog.Builder(this);显示对话框,结果发现Builder没有dialog.cancel()和dismiss()方法关闭对话框。自己摸索出了一种关闭AlertDialog dialog对话框的方法。
直接上代码

builder.setIcon(R.drawable.ic_launcher);
builder.setTitle("标题");
builder.setCancelable(false);//点击屏幕和返回键对话框不消失
RelativeLayout relativeLayout = (RelativeLayout) getLayoutInflater().inflate(R.layout.fist, null);
builder.setView(relativeLayout);
builder.setCancelable(false);
Button cancel = (Button) relativeLayout.findViewById(R.id.cancl);
Button ok = (Button) relativeLayout.findViewById(R.id.ok);
builder.create().show();

这样通过created()加show()方法弹出的对话框在使用builder.setCancelable(false)之后,本人尚未找的好的让对话框的方法。只能用dialog的dismiss()方法让对话框消失
代码如下

final Dialog dialog;
builder.setIcon(R.drawable.ic_launcher);
builder.setTitle("标题");
builder.setCancelable(false);//点击屏幕和返回键对话框不消失
RelativeLayout relativeLayout = (RelativeLayout) getLayoutInflater().inflate(R.layout.fist, null);
builder.setView(relativeLayout);
builder.setCancelable(false);
Button cancel = (Button) relativeLayout.findViewById(R.id.cancl);
Button ok = (Button) relativeLayout.findViewById(R.id.ok);
dialog = builder.show();
ok.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
    // TODO Auto-generated method stub
        dialog.dismiss();
    }
});
dialog.show();

通过builder.show();可以使用dialog.cancel()和dismiss()方法关闭对话框。
一定不要忘了dialog.show();
当然也可以使用setNegativeButton,setPositiveButton和setNeutralButton,然后在里面添加监听事件用来关闭对话框。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值