Slide 78
Slide 78 text
app
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
RainbowCake
abstract class RainbowCakeFragment>
: Fragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
viewModel.state.observe(viewLifecycleOwner, Observer { viewState ->
viewState?.let { render(it) }
})
}
abstract fun render(viewState: VS)
}
override fun render(viewState: ProfileViewState) {
when (viewState) {
Loading -> { ... }
is ProfileLoaded -> { ... }
}
}
class ProfileFragment : RainbowCakeFragment() {
}
.exhaustive
[2]