用一个变量来标示Dialog的最后点击了什么的功能,我现在用的是一个类变量,感觉不够科学,那Dialog有没有一个可以做标示的?比如View有个setTag 谢
private int noticeDialogResult=0;
public void showNoticeDialog() {
// 构造对话框
noticeDialogResult=0;
AlertDialog.Builder builder = new Builder(mContext);
builder.setTitle(R.string.soft_update_title);
builder.setMessage(mContext.getString(R.string.soft_update_info) + "?\r\n" + mHashMap.get("description"));
// 更新
builder.setPositiveButton(R.string.soft_update_updatebtn, new OnClickListener() {
@Override
public void onClick(DialogInte易做图ce dialog, int which) {
noticeDialogResult=1;//这里是确认 dialog.dismiss();
}
});
// 稍后更新
builder.setNegativeButton(R.string.soft_update_later, new OnClickListener() {
@Override
public void onClick(DialogInte易做图ce dialog, int which) {
dialog.dismiss();
noticeDialogResult=2;//这里是稍后更新
}
});
Dialog noticeDialog = builder.create();
noticeDialog.setCanceledOnTouchOutside(true);
noticeDialog.setOnCancelListener(new OnCancelListener() {
@Override
public void onCancel(DialogInte易做图ce dialog) {
// TODO Auto-generated method stub
if(noticeDialogResult==1)
{//这里为确认
}
else if(noticeDialogResult==2)
{//这里为点击了稍后
}
else if(noticeDialogResult==0)
{//这里为点击了空白处
}
}
}
});
noticeDialog.show();
}
如标题
谢谢 --------------------编程问答-------------------- 我觉得可以不用setOnCancelListener这个设置
点击确认,那就是要更新,直接在这里调用更新的函数
点击取消,那就是不更新,直接dialog.dismiss();,如果还要做什么,那就调用相应的函数
不需要标示点击的是哪个,把每个函数独立出来,在需要的地方使用就可以了
个人建议就不要让用户点击空白区域来取消dialog,让用户必须选择一个,更新或者不更新 --------------------编程问答-------------------- 个人建议就不要让用户点击空白区域来取消dialog,让用户必须选择一个,更新或者不更新
---------------------
这样不够人性化,因为这个提示更新不更新的,并不是很重要一定要用户选的
所以应该要让用户可以点击空白取消掉,
但是我这里因为当这个窗口不显示的时候我要做一些动作,
就相当于有三种情况的动作,所以要监视到
谢谢 --------------------编程问答-------------------- UP
。。。。。。。。。。。
补充:移动开发 , Android