1 min readOct 4, 2019
Did you notice your article describes the GoF State Pattern? When you used an enum class
, you basically made a finite state machine. That is very powerful. In my projects I use enum class
and sealed class
(which is basically enum class
on steroids) to model my view states, for example:
sealed class ViewState
data class OhNo(val cause: Throwable) : ViewState()
object Loading : ViewState()
data class Success(val data: MyDataType, val moreData: SomeOtherDataType) : ViewState()
It’s then very simple to set views in my Fragment
/ Activity
based on when
.