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