У меня есть фрагмент с переключателем.Я хочу установить «проверенное» значение на основе того, установлена ли для определенной переменной значение перечисления ACTIVE или INACTIVE.Когда приложение запускается в первый раз, значение НЕАКТИВНО.Когда пользователь приложения устанавливает определенное предпочтение, оно должно быть АКТИВНО при следующем запуске.
Вот то, что у меня сейчас есть
enum class Status {
ACTIVE, INACTIVE
}
var status = Status.INACTIVE
private set(value) {
if (field == value) return
field = value
binder.statusChanged()
}
inner class Binder : android.os.Binder() {
val active get() = status == Status.ACTIVE
val statusChanged = StickyEvent0() .....
}
inner class Data : BaseObservable() {
//checked
val serviceActive: Boolean
@Bindable get() = binder.active.....
}
private val data = Data()
private val binder = Binder()
init{
binder.statusChanged[this] = data::onStatusChanged
}
И в моем фрагменте у меня есть
<Switch
android:checked="@{data.serviceActive}"
android:clickable="false"/>
По сути, я бы хотел изменить это, вместо
var status = Status.INACTIVE
У меня было бы что-то вроде
var status = functionToCalculateStatus()
Так что, если логика вернет ACTIVE, значение для переключателя будет истинным / проверено
Есть идеи?