Created
April 2, 2019 23:07
-
-
Save marcelpinto/617828e36ee899081f3479d8d1b6f958 to your computer and use it in GitHub Desktop.
Gist for ViewData best practice blog - Best way
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
sealed class MyViewData { | |
abstract val distance: Int | |
data class Km(override val distance: Int): MyViewData() | |
data class Miles(override val distance: Int): MyViewData() | |
} | |
class MyViewModel: ViewModel() { | |
private val _myViewData = MutableLiveData<MyViewData>() | |
val myViewData: LiveData<MyViewData> = _myViewData | |
fun updateViewData() { | |
val value = getDistance() | |
val distanceUnit = userPref.getDistanceUnit() | |
_myViewData.value = when (distanceUnit) { | |
KM -> MyViewData.Km(value) | |
MILES -> MyViewData.Miles(value) | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment