前几天做项目的时候,需要实现在编辑页面,没有保存编辑的信息就会弹出dialog提示你保存信息
我的项目逻辑比较简单,首先进入个人信息编辑界面,返回的方式有两种,一种是点击手机的BACK键 :onKeyDown() ,另一种是点击自定义bar的后退图标
先说第一种点击手机Back按钮,先上代码
/**
* 退出时弹出对话框,确定保存数据
*
* @chendong 2016年6月1日
*/
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
showMyDialog(); //点击BACK弹出对话框
}
return false;
}
private void showMyDialog() {
// 创建退出对话框
AlertDialog isExit = new AlertDialog.Builder(this).create();
// 设置对话框标题
isExit.setTitle("提示");
// 设置对话框消息
isExit.setMessage("确定要退出吗,未保存的数据将会遗失");
// 添加选择按钮并注册监听
isExit.setButton("确定", listener);
isExit.setButton2("取消", listener);
// 显示对话框
isExit.show();
}
/**
* 监听对话框里面的button点击事件
*/
DialogInterface.OnClickListener listener = new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
switch (which) {
case AlertDialog.BUTTON_POSITIVE:// "确认"按钮退出程序
finish();
break;
case AlertDialog.BUTTON_NEGATIVE:// "取消"第二个按钮取消对话框
break;
default:
break;
}
}
};
有什么问题可以在评论区留言