Avatar ·

Fehler MutableLiveData setValue im Hintergrundthread aus einer Koroutine: Wie beheben?

Hallo! Ich habe kürzlich angefangen, Kotlin und Android-Entwicklung zu lernen, und bin auf ein Problem bei der Verwendung von MutableLiveData mit Koroutinen gestoßen. Ich habe eine ViewModel, die Daten aus dem Netzwerk mit einer Koroutine lädt. Wenn die Daten ankommen, versuche ich, LiveData zu aktualisieren, aber ich bekomme einen Crash mit dem Fehler: ``` Cannot invoke setValue on a background thread ``` Hier ist mein Code: ```kotlin class MyViewModel : ViewModel() { private val _data = MutableLiveData>() val data: LiveData> = _data fun loadData() { viewModelScope.launch { val result = fetchDataFromApi() // suspend function _data.setValue(result) // hier stürzt es ab } } private suspend fun fetchDataFromApi(): List { delay(2000) // Simulation des Ladens return listOf("item1", "item2", "item3") } } ``` Ich habe gelesen, dass MutableLiveData.setValue() nur vom Hauptthread aus aufgerufen werden kann. Aber die Koroutine wurde über