ФХ
Size: a a a
ФХ
МE
VP
sm
VP
sm
VP
sm
sm
МE
СМ
EM
EM
S
I
sealed class ObjectListUIState {Во ViewModel есть метод который возвращает LiveData
class Lists(val data: List<TreeObjectUIModel>): ObjectListUIState()
class Error(val throwable: Throwable): ObjectListUIState()
object Loading: ObjectListUIState()
}
fun objectsState(): LiveData<ObjectListUIState> = stateВ активити подписался
objectsViewModel.objectsState().observe(this, Observer {т.е. одна LiveData отвечает за состояние экрана.
when(it){
is ObjectListUIState.Lists -> {
objectsRecyclerView.adapter = ObjectsAdapter(it.data)
}
is ObjectListUIState.Loading -> {
Snackbar.make(objectsRecyclerView, "Loading", Snackbar.LENGTH_SHORT).show()
}
is ObjectListUIState.Error -> {
Snackbar.make(objectsRecyclerView, "Error " + it.throwable.localizedMessage, Snackbar.LENGTH_SHORT).show()
}
}
})
АЕ
sealed class ObjectListUIState {Во ViewModel есть метод который возвращает LiveData
class Lists(val data: List<TreeObjectUIModel>): ObjectListUIState()
class Error(val throwable: Throwable): ObjectListUIState()
object Loading: ObjectListUIState()
}
fun objectsState(): LiveData<ObjectListUIState> = stateВ активити подписался
objectsViewModel.objectsState().observe(this, Observer {т.е. одна LiveData отвечает за состояние экрана.
when(it){
is ObjectListUIState.Lists -> {
objectsRecyclerView.adapter = ObjectsAdapter(it.data)
}
is ObjectListUIState.Loading -> {
Snackbar.make(objectsRecyclerView, "Loading", Snackbar.LENGTH_SHORT).show()
}
is ObjectListUIState.Error -> {
Snackbar.make(objectsRecyclerView, "Error " + it.throwable.localizedMessage, Snackbar.LENGTH_SHORT).show()
}
}
})
RM
sealed class ObjectListUIState {Во ViewModel есть метод который возвращает LiveData
class Lists(val data: List<TreeObjectUIModel>): ObjectListUIState()
class Error(val throwable: Throwable): ObjectListUIState()
object Loading: ObjectListUIState()
}
fun objectsState(): LiveData<ObjectListUIState> = stateВ активити подписался
objectsViewModel.objectsState().observe(this, Observer {т.е. одна LiveData отвечает за состояние экрана.
when(it){
is ObjectListUIState.Lists -> {
objectsRecyclerView.adapter = ObjectsAdapter(it.data)
}
is ObjectListUIState.Loading -> {
Snackbar.make(objectsRecyclerView, "Loading", Snackbar.LENGTH_SHORT).show()
}
is ObjectListUIState.Error -> {
Snackbar.make(objectsRecyclerView, "Error " + it.throwable.localizedMessage, Snackbar.LENGTH_SHORT).show()
}
}
})
EM
EM
I