【问题标题】:How can I return to a specific activity that has already been created previously?如何返回之前已创建的特定活动?
【发布时间】:2015-08-07 01:33:50
【问题描述】:

我的最终目标是: MainActivity 有一个启动 SubActivity 的按钮(本质上是一个计时器)。 每次按下按钮时,都会启动一个新的 SubActivity。 MainActivity 也有一个 RecyclerView,它为每个 SubActivity 显示一张卡片,以便您可以返回到您已经启动的任何计时器。

我的问题是我不知道如何返回每个活动。我已经做了一些研究,大多数人都指向 onSaveInstanceState,但据我了解,这只会通过保存值并恢复它们来重新创建活动。我知道我的计时器子活动仍然在后台进行,因为即使我在计时器运行的情况下离开子活动,警报也会在稍后响起,但同时我无法重新打开该活动。

那么如何访问正在运行的计时器活动?

谢谢!

【问题讨论】:

    标签: android timer


    【解决方案1】:

    不清楚您真正想要实现什么,但它看起来像是错误的应用设计。如果您希望计时器运行而不管活动,那么您应该将计时器与活动分离并使活动只显示计时器。你的计时器应该在别处,而且它的生命周期绝对不应该依赖于活动生命周期。

    【讨论】:

    • 我听取了您的建议,并将计时器类与显示计时器的第二个活动分开。抱歉,我之前很懒,尽管我知道我应该遵循 OOP。谢谢你。但是,我仍然不确定下一步要去哪里,我仍然需要访问我已经从我的主要活动开始的计时器?
    • 当然可以,但是由于您将计时器解耦,您应该为每个计时器分配唯一的 ID。管理这些的计时器容器(在您的情况下真的是timer 吗?)可以允许获取计时器(或者它的值,即使用getTimer(timerId); 之类的方法。
    猜你喜欢
    • 2017-08-07
    • 2014-05-06
    • 1970-01-01
    • 1970-01-01
    • 2012-06-09
    • 1970-01-01
    • 2020-03-04
    • 2015-11-02
    • 1970-01-01
    相关资源
    最近更新 更多