无法在后台线程上调用setValue



有人能告诉我做错了什么吗

private fun getTorrentsSocketIO() {
coroutineScope.launch {
try {
val socket = IO.socket("...")
socket.on("torrents") {
val jsonString = it.toList() as List<Torrent>
_torrents.value = jsonString
}
socket.connect()
} catch (t: Throwable) {
Log.i("LIST_VIEW_MODEL", t.message.toString())
}
}
}

以下称为时抛出错误

_torrents.value = jsonString

您应该使用postValue

SetValue将不适用于后台进程。

信息

必须从主线程调用此方法(setValue(。如果你需要从后台线程设置一个值,你可以使用postValue(Object(

相关内容

  • 没有找到相关文章

最新更新