Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 活动问题_Android_Android Activity_Stack - Fatal编程技术网

Android 活动问题

Android 活动问题,android,android-activity,stack,Android,Android Activity,Stack,我的申请表中有3项活动。 我的第一个活动(主)有两个按钮,用于启动其他活动(一个和两个)。 One活动在UI上启动倒计时。 当我点击后退按钮时,Android会关闭此活动,当我重新打开活动时,计时器会重置 我还尝试覆盖: public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { moveTaskToBack(true);

我的申请表中有3项活动。 我的第一个活动(主)有两个按钮,用于启动其他活动(一个和两个)。 One活动在UI上启动倒计时。 当我点击后退按钮时,Android会关闭此活动,当我重新打开活动时,计时器会重置

我还尝试覆盖:

    public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        moveTaskToBack(true);
        return true;
    }
    return super.onKeyDown(keyCode, event);
}
它工作正常,但当我重新打开主活动时,Android会显示我的计时器活动。
如何解决此问题?

在哪里重置计时器?如果某个活动在后台,它不会被销毁,而是暂停。除非它被销毁(完成),否则它不会通过onCreate。如果要在每次活动到达前台时重置计时器,请使用onResume()方法:

请看这里:


如果这不是问题,你已经考虑了活动生命周期状态,然后再粘贴一些代码。我的问题是相反的。我不想在重新打开此活动时重置计时器。所以,当我点击后退按钮时,我的活动被安卓系统破坏了。哦,对不起,我误解了你的问题。当然,活动1中的计数器被销毁,该活动既不可见也不在前景中,因此它被销毁。为什么不在主活动中保留计时器,如果需要,在启动时将其传递给活动1?这只是一个建议的快速和简单的实现,还有许多其他更详细的实现。你的问题与其说是安卓系统的问题,不如说是持久性的问题。

@Override
protected void onResume() {   
    super.onResume();     

    //reset timer
}