【问题标题】:Activity problem活动问题
【发布时间】:2010-10-14 10:44:52
【问题描述】:

我的应用程序中有 3 个活动。 我的第一个活动(主要)有 2 个按钮,用于启动其他活动(一个和两个)。 One Activity 在 UI 上启动倒数计时器。 当我点击返回按钮时,Android 会关闭此活动,当我重新打开活动时,我的计时器会重置。

我也尝试覆盖:

    public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        moveTaskToBack(true);
        return true;
    }
    return super.onKeyDown(keyCode, event);
}

它可以正常工作,但是当我重新打开主活动时,Android 会显示我的计时器活动。 我该如何解决这个问题?

【问题讨论】:

    标签: android android-activity stack


    【解决方案1】:

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

    @Override
    protected void onResume() {   
        super.onResume();     
    
        //reset timer
    }
    

    在这里阅读:android life cycle

    如果这不是问题并且您已经考虑了活动生命周期状态,那么再粘贴一些代码。

    【讨论】:

    • 嗨 Maragues,感谢您的回复。我的问题倒过来了。当我重新打开此活动时,我不希望我的计时器重置。所以,当我点击后退按钮时,我的 Activity 会从 android 中销毁。
    • 抱歉,我看错了你的问题。当然,活动一中的计数器被破坏了,该活动既不可见也不在前景中,因此它被破坏了。为什么不在主要活动中维护计时器,如果需要,在启动时将其传递给活动一?这只是一个建议的快速简单的实现,还有许多其他更详细的实现。您的问题更像是一个持久性问题而不是 Android 问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-15
    • 2012-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多