gpt4 book ai didi

kotlin - 处理删除/添加实时数据观察器以在按钮单击时观察

转载 作者:行者123 更新时间:2023-12-02 12:02:39 25 4
gpt4 key购买 nike

我想观察房间数据库中的一行。一段时间后它会改变。但是当我们点击停止按钮时,它需要停止观察表单数据库,当点击开始按钮时,它会再次开始观察。

我目前的代码是
创建观察者

    private lateinit var recordObserver: Observer<Ride>

recordObserver= Observer<Ride> { rides ->

if (rides != null)

updateData(rides)

else
setDataToZero()
}

when(isState){
Constants.isrunning->{//need to start observer}
Constants.Stop->{//need to stop observer}
}

最佳答案

为了开始/停止观察LiveData你应该使用 observe()/removeObserver()方法。就如此容易。如果您有权访问 LifecycleOwner ( Fragment , Activity ) 使用 fun observe() , 如果不是 - 使用 fun observeForever() .

您的代码将如下所示:

val liveData = database.observeRides()  // get your live data
when(isState){
Constants.isrunning -> {
liveData.observe(this, recordObserver)
}
Constants.Stop -> {
liveData.removeObserver(recordObserver)
}
}

关于kotlin - 处理删除/添加实时数据观察器以在按钮单击时观察,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60664881/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com