CountdownTimer:如何从用户返回上一个活动的剩余时间重新开始?

问题描述 投票:1回答:2

我是Android的初学者,这可能是一个非常基本的问题。我正在尝试创建一个CountDownTimer,它在两个活动之间保持倒计时。用户可以转到活动B并返回活动B中的活动A.我正在考虑在SharedPreferences中保存剩余时间。我想知道的是当用户执行OnBackPressed并将当前剩余时间保存到SharedPreferences并返回上一个活动时,如何从之前活动的剩余时间重新启动倒数计时器?

android countdowntimer
2个回答
1
投票

我认为这种方法可以帮助你:

@Override
public void onResume() { // This will be trigger when your activity is created or come to front
    // Load preference
    // Start timer
}

@Override
public void onStop() { // This will be triggered when your activity goes behind or before your activity destroyed.
   // Cancel timer
   // Save preference
}

这很简单,只需按照评论。如果这有帮助,请告诉我


0
投票

要得到这个,你必须有一个单独的线程来计算倒计时的东西,它将在你活动1或其他活动的所有天气运行。该线程应更新活动(检查活动是否可见)。要更新活动,可以有多种方式。

  1. 您可以使用线程并通过广播更新活动
  2. 您可以使用线程并检查活动可见性,如果可见则执行相应的操作。
  3. 由于您已经在使用共享首选项,因此您也可以通过共享首选项实现相同的功能。您可以使用线程/服务并在每个tick或每秒更新共享首选项。当你获得onResume回调活动时。从共享首选项中获取值并相应地使用它。

希望这会帮助你。

© www.soinside.com 2019 - 2024. All rights reserved.