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(DialogInterface dialog, int which) {
noticeDialogResult=1;//这里是确认 dialog.dismiss();
}
});
// 稍后更新
builder.setNegativeButton(R.string.soft_update_later, new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
noticeDialogResult=2;//这里是稍后更新
}
});
Dialog noticeDialog = builder.create();
noticeDialog.setCanceledOnTouchOutside(true);
noticeDialog.setOnCancelListener(new OnCancelListener() { @Override
public void onCancel(DialogInterface dialog) {
// TODO Auto-generated method stub
if(noticeDialogResult==1)
{//这里为确认
}
else if(noticeDialogResult==2)
{//这里为点击了稍后
}
else if(noticeDialogResult==0)
{//这里为点击了空白处
}
}
}
});
noticeDialog.show();
}如标题谢谢
解决方案 »
- Activity 重新返回栈顶
- 谁帮我看看这个值的byte offset 怎么找?
- android的LocationListener一定要写在当前activity中嘛?
- 关于数据库创建路径
- 求助:各位android大神们,请帮忙推荐一个关于android系统移植与底层开发的书
- 写了一个调用系统联系人的程序,出现以下错误,求救!
- 为什么我import到eclipse的项目workspace中没有呢
- 请教一个问题?关于获取短信类的
- android当内存数据很大的时候,如何能优化内存,提高运行速度
- android5.0art模式不兼容NDK??
- Android—post方式连接网页异常如何处理?
- android异步加载sd卡的图片(原图)
点击确认,那就是要更新,直接在这里调用更新的函数
点击取消,那就是不更新,直接dialog.dismiss();,如果还要做什么,那就调用相应的函数
不需要标示点击的是哪个,把每个函数独立出来,在需要的地方使用就可以了
个人建议就不要让用户点击空白区域来取消dialog,让用户必须选择一个,更新或者不更新
---------------------
这样不够人性化,因为这个提示更新不更新的,并不是很重要一定要用户选的
所以应该要让用户可以点击空白取消掉,
但是我这里因为当这个窗口不显示的时候我要做一些动作,
就相当于有三种情况的动作,所以要监视到
谢谢