Skip to content

Instantly share code, notes, and snippets.

@myanmarlinks
Created July 8, 2019 13:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save myanmarlinks/909484b14ebb200e60f43fe47a760af5 to your computer and use it in GitHub Desktop.
Save myanmarlinks/909484b14ebb200e60f43fe47a760af5 to your computer and use it in GitHub Desktop.
Bridge to Kotlin Part 8
fun main(args: Array<String>) {
val screenState = ScreenState.Data(SomeData(1, "Hello World"))
setScreenState(screenState)
}
fun setScreenState(screenState: ScreenState) {
when(screenState) {
is ScreenState.Error -> println("Error")
is ScreenState.Loading -> println("Loading")
is ScreenState.Data -> {
println(screenState.someData.name)
}
}
}
sealed class ScreenState {
class Error: ScreenState()
class Loading: ScreenState()
data class Data(val someData: SomeData) : ScreenState()
}
data class SomeData(val id: Int, val name: String)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment