当前位置: 代码迷 >> Android >> Andoird AlertDialog 中,当对话框出现后,点击了对话框外的空白处时,对话框自动关闭的事件是什么 有示例代码 多谢
  详细解决方案

Andoird AlertDialog 中,当对话框出现后,点击了对话框外的空白处时,对话框自动关闭的事件是什么 有示例代码 多谢

热度:95   发布时间:2016-04-28 07:23:14.0
Andoird AlertDialog 中,当对话框出现后,点击了对话框外的空白处时,对话框自动关闭的事件是什么 有示例代码 谢谢

private void showNoticeDialog()
{
// 构造对话框
AlertDialog.Builder builder = new Builder(mContext);
builder.setTitle(R.string.soft_update_title);
builder.setMessage(R.string.soft_update_info);
// 更新
builder.setPositiveButton(R.string.soft_update_updatebtn, new OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which)
{
// 显示下载对话框
}
});
// 点击稍后更新按钮
builder.setNegativeButton(R.string.soft_update_later, new OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which)
{
//点击稍后更新按钮后
}
});
// 点击了对话框外的空白处的事件??????
builder.set????????(R.string.soft_update_later, new OnClickListener()
{}
Dialog noticeDialog = builder.create();
noticeDialog.show();
}

点击了对话框外的空白处的事件??????
这个事件是什么

谢谢

我要知道他是点了 “更新”,“稍后更新”,还是“对话框外的空白处”

谢谢

------解决方案--------------------
noticeDialog.setCanceledOnTouchOutside(true),这样你点击dialog以外的区域,dialog就会被cancel掉。
builder.setOnCancelListener(),cancel掉的时候会调用这里的callbak,只要你在点了 “更新”,“稍后更新”,还是“对话框外的空白处”分别做个标记,就能在这个callback里分辨是那种情况了。
------解决方案--------------------
builder.setCancelable(false);不懂是不是你想要的结果
------解决方案--------------------
引用:
noticeDialog.setCanceledOnTouchOutside(true),这样你点击dialog以外的区域,dialog就会被cancel掉。
builder.setOnCancelListener(),cancel掉的时候会调用这里的callbak,只要你在点了 “更新”,“稍后更新”,还是“对话框外的空白处”分别做个标记,就能在这个callback里分辨是那种情况了。
 正解
------解决方案--------------------
引用:
noticeDialog.setCanceledOnTouchOutside(true),这样你点击dialog以外的区域,dialog就会被cancel掉。
builder.setOnCancelListener(),cancel掉的时候会调用这里的callbak,只要你在点了 “更新”,“稍后更新”,还是“对话框外的空白处”分别做个标记,就能在这个callback里分辨是那种情况了。

+1
  相关解决方案