コルーチンから LiveData の更新をトリガーしようとしています:
object AddressList: MutableLiveData<List<Address>>()
fun getAddressesLiveData(): LiveData<List<Address>> {
AddressList.value = listOf()
GlobalScope.launch {
AddressList.value = getAddressList()
}
return AddressList
}
しかし、次のエラーが発生します。
IllegalStateException: バックグラウンド スレッドで setValue を呼び出すことはできません
コルーチンで動作させる方法はありますか?
ベストアンサー1
liveData.postValue(value)
の代わりにを使用しますliveData.value = value
。非同期と呼ばれます。
からドキュメンテーション:
投稿値- 指定された値を設定するタスクをメインスレッドに投稿します。