Это должно быть просто, но я сталкиваюсь с проблемами. Я пытаюсь изменить текст кнопки в зависимости от того, находится ли список в порядке убывания или в порядке возрастания. Вот что у меня есть:
На мой взгляд модель:
fun ascendingDescending() {
if (ascendingOrDescending == AscendDescend.ASC) {
ascendingOrDescending = AscendDescend.DESC
isAscend = false
} else {
ascendingOrDescending = AscendDescend.ASC
isAscend = true
}
val searchAndSort = searchQuery.value
searchAndSort?.ascendDescend = ascendingOrDescending
searchQuery.postValue(searchAndSort)
}
В моем .xml файле:
<com.google.android.material.button.MaterialButton
android:id="@+id/btnAscendDescend"
android:layout_width="0dp"
android:layout_height="45dp"
android:layout_marginTop="5dp"
android:layout_marginEnd="10dp"
android:backgroundTint="@color/colorPrimary"
app:layout_constraintHorizontal_weight="1"
app:layout_constraintEnd_toStartOf="@+id/btnFilterBy"
app:layout_constraintStart_toEndOf="@+id/btnSortBy"
app:layout_constraintTop_toBottomOf="@+id/guideline"
app:layout_constraintHorizontal_chainStyle="spread"
android:text="@{viewModel.isAscend ? @string/work_packages_descend : @string/work_packages_ascend}"
android:onClick="@{() -> viewModel.ascendingDescending()}"
/>
Когда я нажимаю кнопку, текст не изменяется от По убыванию до По возрастанию.