伙计我有一个有主页按钮的活动,当按下按钮时,会出现一个警告对话框,显示消息"退出而不保存?" 并且用户可以使用以下选项(按钮):
1->是的
2->否
3->保存并退出
但问题是当按下主页按钮时没有显示警告对话框.
我尝试了以下代码:
//这是按下按钮的时间
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.backHome:
final AlertDialog alertDialog = new AlertDialog.Builder(
DataView.this).create();
// alertDialog.setTitle("Exit Without Save ?");
alertDialog.setMessage("Exit Without Saving");
alertDialog.setButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Intent i = new Intent(DataView.this, DiaryActivity.class);
startActivity(i);
finish();
}
});
alertDialog.setButton2("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
alertDialog.dismiss();
}
});
alertDialog.setButton3("Save and Exit",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
rowIdreceived = getdata.getLong("row_id");
String title_updated = topicDisplay.getText()
.toString() + " ";
String story_updated = StoryField.getText()
.toString();
DataHolder entry = new DataHolder(DataView.this);
try {
entry.open();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
entry.updateEntry(rowIdreceived, title_updated,
story_updated);
entry.close();
Intent i = new Intent(DataView.this,
DiaryActivity.class);
startActivity(i);
finish();
}
});
break;
Run Code Online (Sandbox Code Playgroud)
DiaryActivity是主要的类.
DataView是当前的活动.
"是"按钮只退出当前活动并返回主要活动,即DiaryActivity.
"否"按钮"解除"警报对话框,然后用户可以保存他的工作并稍后退出.
保存和退出按钮将工作保存到数据库中,然后退出当前活动到主活动.