我已经按照教程构建了计时器应用程序。本教程在MainActivity中创建了创建和销毁计时器的方法。现在,我正在尝试在用户离开应用程序时停止计时器。当发生Lifecycle.Event.ON_STOP且应用程序进入后台时,我正在使用LifeCycleObserver进行调用。
我想在用户离开应用程序时在Main Activity中调用一个名为onTimerFinished()的方法
当我尝试在LifeCycleObserver中调用该方法时,它返回一个错误,它是一个未解决的引用。
这是我正在尝试onTimerFinished的LifecycleObserver
class ApplicationObserver() : LifecycleObserver {
@OnLifecycleEvent(Lifecycle.Event.ON_STOP)
fun onBackground() {
Log.d("myTag", "App closed")
MainActivity.onTimerFinished()
}
@OnLifecycleEvent(Lifecycle.Event.ON_START)
fun onForeground() {
}
}
这是位于我的MainActivity中的onTimerFinished函数
private fun onTimerFinished(){
timerState = TimerState.Stopped
setNewTimerLength()
progress_countdown.progress = 0
PrefUtil.setSecondsRemaining(timerLengthSeconds,this)
secondsRemaining = timerLengthSeconds
updateButtons()
updateCountdownUI()
}
当我将变量移至MainActivity的伴随对象时,它似乎并没有改变实际的计时器。相反,它会更改伴随对象的变量。]>
如何在LifecycleObserver中调用此函数
我已经按照教程构建了计时器应用程序。本教程在MainActivity中创建了创建和销毁计时器的方法。现在,我正在尝试在用户...
您不能直接将MainActivity称为私人乐趣。您需要它的引用,并且必须将onTimeFinished方法公开。