Junior — Middle
Jak zobrazit chybu ve View na základě dat přicházejících z LiveData?
sobes.tech AI
Odpověď od AI
Chcete-li zobrazit chybu ve View na základě dat z LiveData, obvykle se v ViewModelu vytvoří samostatný objekt LiveData pro chyby. View se přihlásí k tomuto LiveData a při změně dat zobrazí chybovou zprávu.
Příklad:
// Ve ViewModelu
private val _error = MutableLiveData<String?>()
val error: LiveData<String?> = _error
fun loadData() {
try {
// načtení dat
} catch (e: Exception) {
_error.value = e.message
}
}
// V Activity nebo Fragmentu
viewModel.error.observe(viewLifecycleOwner) { errorMessage ->
if (errorMessage != null) {
// zobrazit chybu, například Toast nebo TextView
Toast.makeText(context, errorMessage, Toast.LENGTH_LONG).show()
}
}
Tento přístup odděluje logiku zpracování chyb od UI a umožňuje snadné řízení zobrazení chyb.