0

我有 2 个活动如下:

public class MainActivity extends Activity {
    ....


    profile.login(new onCallback()) {
        @Override
        public void onResult(int result) {
            final Intent i = new Intent(MainActivity.this, DetailActivity.class);
            startActivity(i);
        }
    }

    ....

}


public class DetailActivity extends Activity {
    ....
}

profile.login 在 AsyncTask 上运行并在有结果时回调。一旦收到结果,它将开始第二个活动。

以下是故障步骤:

  1. 在 MainActivity 上,按下登录按钮。
  2. 按返回关闭应用程序。
  3. 该应用程序已关闭,但一段时间后会弹出第二个活动并立即强制关闭。

我跟踪生命周期事件,logcat 显示:

  1. MainActivity.onClickLogin
  2. DetailActivity.onCreate 已启动。
  3. DetailActivity.onCreate 结束。
  4. MainActivity.onDestroy 启动。
  5. MainActivity.onDestroy 结束。

它是非常依赖时间的,只发生在“DetailActivity.onCreate 结束”和屏幕不显示之间。一旦 DetailActivity 屏幕显示,按 Back 不会导致 MainActivity 销毁。它只是按预期破坏了 DetailActivity:

  1. MainActivity.onClickLogin
  2. DetailActivity.onCreate 已启动。
  3. DetailActivity.onCreate 结束。
  4. DetailActivity.onDestroy 启动。
  5. DetailActivity.onDestroy 结束。

我的问题是:

由于 DetailActivity 已经创建(onCreated 结束),是否应该将返回键事件发送到 DetailActivity 并导致它销毁?为什么将密钥发送到 MainActivity?

知道如何应对吗?

我正在使用的 Android 版本是 4.0.x

4

1 回答 1

0

创建页眉和页脚。设置一个图像并在 onclick 侦听器上编写代码...

于 2013-01-10T12:22:34.137 回答