Я пытаюсь использовать двустороннюю привязку данных и оперативные данные, чтобы изменения в флажке наблюдались, а кнопку сохранения можно было включить или отключить. Мой класс настройки выглядит как
class StaffSettings {
private long settingId;
private boolean showPublicly;
private boolean acceptAppointment;
.
.
.
}
Моя кнопка переключения выглядит как показано ниже
<Switch
android:id="@+id/switchShowPublicly"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2"
android:checked="@={settings.showPublicly}"
android:theme="@style/switch_button"
android:visibility="@{isEditable ? View.VISIBLE : View.GONE}" />
В моем фрагменте я установил значения, как показано ниже.
MutableLiveData<StaffSettings> staffSettingsLiveData = new MutableLiveData<>();
staffSettingsLiveData.setValue(staffSettings);
staffSettingsLiveData.observe(this, new Observer<StaffSettings>() {
@Override
public void onChanged(@Nullable final StaffSettings newStaffSettings) {
if(staffSettings.equals(newStaffSettings)) {
binding.txtSaveButton.setEnabled(false);
} else {
binding.txtSaveButton.setEnabled(true);
}
}
});
binding.setSettings(staffSettingsLiveData.getValue());
binding.setLifecycleOwner(this);
binding.executePendingBindings();
Я новичок в LiveData. Я не могу выяснить проблему.