android dialog怎么关闭

 我来答
堕灭神者BE996
2016-10-13 · TA获得超过2828个赞
知道大有可为答主
回答量:2735
采纳率:86%
帮助的人:768万
展开全部

AlertDialog.Builder对话框没有类似finish()或者dismiss()这样的方法。
但是它的父类AlertDialog有dismiss方法,而且AlertDialog.Builder在.show()的时候会得到一个AlertDialog对象,

我们就可以用dismiss方法将该Builder关闭。

[java] 
AlertDialog.Builder builder = new AlertDialog.Builder(this);  
AlertDialog dialog = builder.show();  
dialog.dismiss();

 

I爱believe
2016-09-08 · 超过10用户采纳过TA的回答
知道答主
回答量:48
采纳率:100%
帮助的人:11.3万
展开全部
1.点击对话框上按钮时对话框的关闭设置

// 不关闭的写法
try
{
Field field = mDialog.getClass().getSuperclass().getDeclaredField("mShowing");
field.setAccessible(true);
//设置mShowing值,欺骗android系统
field.set(mDialog, false);
}catch(Exception e) {
e.printStackTrace();
}

// 关闭的写法
try
{
Field field = mDialog.getClass().getSuperclass().getDeclaredField("mShowing");
field.setAccessible(true);
//设置mShowing值,欺骗android系统
field.set(mDialog, true);
} catch(Exception e) {
e.printStackTrace();
}

2.点击对话框外对话框的关闭设置

AlertDialog.Builder b=new AlertDialog.Builder(context);

//不关闭写法

b.setCancelable(false);

//关闭写法

b.setCancelable(false);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式