问题描述
|
我希望警告用户是否在应用程序中按下了“后退”按钮。例如,如果用户在使用该应用程序的过程中途中途按下了“后退”箭头,则该用户现在会关闭并且会丢失所有数据如果他们不小心撞到了它。
我希望能够通过“您真的要退出吗?”提醒用户,这样,如果是偶然的话,他们可以选择“否”并继续,并且不会丢失任何数据。
我猜我将需要实现某种侦听器?
解决方法
覆盖onbackpressed()之类的...
@Override
public void onBackPressed() {
AlertDialog.Builder builder = new AlertDialog.Builder(YourActivity.this);
builder.setMessage(\"Do you really want to exit?.\").setCancelable(
false).setPositiveButton(\"Quit\",new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int id) {
YourActivity.this.finish();
}
}).setNegativeButton(\"Cancel\",int id) {
}
});
AlertDialog alert = builder.create();
alert.show();
}
,
如果用户在使用该应用程序的途中途中途按下向后箭头,则现在该箭头刚刚关闭,如果不小心撞到了所有数据,他们将丢失所有数据。
然后,不要丢失数据。将其保存在“ 1”中(如果不是保存到永久数据存储中)到临时位置,然后稍后再检查。
我希望能够通过“您真的要退出吗?”提醒用户,这样,如果是偶然的话,他们可以选择“否”并继续,并且不会丢失任何数据。
请不要。
这恰好解决了一个用例:用户按下BACK按钮。它完全忽略:
用户按下HOME按钮
用户接到电话
用户响应“ 2”
用户长按HOME(或按Honeycomb中的“最近任务”按钮)并切换到其他任务
等等
如果在他们按BACK时丢失数据对您来说是一个问题,那么在所有其他情况下也对您来说都是一个问题。因此,处理所有情况时,不要在试图离开时中断用户,而是要保留数据,然后在他们选择返回时提示他们有关飞行中的数据。
, 只需覆盖onBackPressed()
。一个警告:自API 5起。
, 您应该重写onBackPressed()活动方法,并在其中提供逻辑。
, 还有很多其他线程。基本上覆盖onBackPressed()