提醒用户,如果他们回击箭头

时间:2011-06-12 20:15:55

标签: android listener alert back-button

我希望提醒用户,如果他们在应用程序中点击后退按钮...例如,如果用户使用应用程序的一半他们点击后退箭头,现在它只是关闭他们会如果他们不小心碰到它,就会丢失所有数据。

我希望能够提醒用户“你真的要退出吗?”因此,如果是偶然的,他们可以选择否并继续,而不会丢失任何数据。

我猜我需要实现某种听众?

5 个答案:

答案 0 :(得分:1)

覆盖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",
                        new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int id) {

                    }
                });
        AlertDialog alert = builder.create();
        alert.show();

    }

答案 1 :(得分:1)

  

如果用户使用该应用程序的一半并且他们点击后退箭头,那么它现在只是关闭,如果他们不小心碰到它们,他们将丢失所有数据。

然后不要丢失数据。将其保存在onPause()中,如果不是永久数据存储,则保存到临时点,然后稍后再检查。

  

我希望能够提醒用户“你真的要退出吗?”因此,如果是偶然的,他们可以选择否并继续,而不会丢失任何数据。

请不要。

这恰好解决了一个用例:用户按下BACK按钮。它完全忽略了:

  • 用户按下HOME按钮
  • 用户接到电话
  • 用户回复Notification
  • 用户长按HOME(或按下Honeycomb中的recent-tasks按钮)并切换到另一个任务

如果在按BACK时丢失数据对您来说是一个问题,那么在所有其他情况下,这也是一个问题。因此,处理所有情况,不是通过在用户试图离开时中断用户,而是通过保留数据,然后在他们选择返回时提示他们有关飞行中数据的信息。

答案 2 :(得分:0)

只需覆盖onBackPressed()即可。一个警告:它是自API 5以来。

答案 3 :(得分:0)

您应该覆盖onBackPressed()活动方法并在那里提供逻辑。

答案 4 :(得分:0)

这有很多其他线程。基本上,覆盖onBackPressed()