Android 使用处理程序PostDelayed更改后未更新LiveData?
这是我的视图模型Android 使用处理程序PostDelayed更改后未更新LiveData?,android,handler,android-livedata,mutablelivedata,Android,Handler,Android Livedata,Mutablelivedata,这是我的视图模型 class MainViewModel(repository: MainActivityRepo) : ViewModel() { val isLoading: MutableLiveData<Boolean> = MutableLiveData() init { isLoading.value = false android.os.Handler().postDelayed({ isLoading.value = true
class MainViewModel(repository: MainActivityRepo) : ViewModel() {
val isLoading: MutableLiveData<Boolean> = MutableLiveData()
init {
isLoading.value = false
android.os.Handler().postDelayed({
isLoading.value = true
Timber.d("isCalled")
}, 5000L)
}
}
class MainViewModel(存储库:MainActivityReporto):ViewModel(){
val isLoading:MutableLiveData=MutableLiveData()
初始化{
isLoading.value=false
android.os.Handler().postDelayed({
isLoading.value=true
木材d(“被称为”)
},5000升)
}
}
我进行了调试和检查,日志工作正常
布尔值的第一个值设置正确,而第二个值在后台线程上不正确,您可以使用post值而不是set值,这将解决您的问题 在后台线程上,您可以使用post值而不是set值,这将解决您的问题 如Vikas所述,您应该使用该方法
正如Vikas所提到的,您应该使用该方法
@ManojPerumarath您应该将其中一个答案标记为解决方案。这样你的问题就结束了。@ManojPerumarath你应该将其中一个答案标记为解决方案。这样你的问题就结束了。
Handler().postDelayed({
isLoading.postValue(true)
Timber.d("isCalled")
}, 5000L)