我有一个活动包含多个可供用户编辑的项目(EditText字段,RatingBar等)。 如果按下返回/主页按钮并且已经进行了尚未保存的更改,则希望提示用户。 通过阅读Android文档,似乎这段代码应该放在onPause方法中。 我已经尝试在onPause中放置AlertDialog,但是对话框会显示然后立即关闭,因为没有任何内容来阻止暂停完成。
到目前为止,这就是我的想法:
@Override
protected void onPause() {
super.onPause();
AlertDialog ad = new AlertDialog.Builder(this).setMessage(
R.string.rating_exit_message).setTitle(
R.string.rating_exit_title).setCancelable(false)
.setPositiveButton(android.R.string.ok,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichButton) {
// User selects OK, save changes to db
}
}).setNeutralButton(android.R.string.cancel,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichButton) {
// User selects Cancel, discard all changes
}
}).show();
}
我是否在正确的方向上,或者有其他方法可以完成我在这里尝试做的事情?任何帮助都将不胜感激!