Переключить возвращаемое значение для CheckboxPreference onClick

Мне нужно найти способ переключить возвращаемое значение при нажатии на мой CheckboxPreference. Я уже установил ключ в моем settings.xml. Щелчок работает нормально, мне просто интересно, как вернуть новое значение при каждом щелчке.

final Preference disableRemixingPref = (Preference) findPreference("disableRemixing");
        disableRemixingPref.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {

                // I don't always want to return true here. Basically, on every click I want to return the opposite of what the selection was before.

                return true;
            }

        });

person Martin Erlic    schedule 15.11.2015    source источник
comment
Почему бы вам не опубликовать и не принять свой ответ? Это может кому-то помочь в будущем.   -  person Paul Hicks    schedule 15.11.2015
comment
@PaulHicks Мне нужно подождать 2 дня, прежде чем я смогу принять свой ответ. Я, вероятно, сделаю это в этот момент.   -  person Martin Erlic    schedule 15.11.2015


Ответы (1)


Я довольно быстро в этом разобрался. Сделал несколько поисков по переключению логических значений: Самый простой способ переключить логическая переменная в Java?

    final Preference disableRemixingPref = (Preference) findPreference("disableRemixing");
    disableRemixingPref.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {

        boolean toggle = false;
        public boolean onPreferenceClick(Preference preference) {
            disableRemixingPref.setSelectable(true);

            // Disable remixing by default
            ParseUser currentUser = ParseUser.getCurrentUser();
            currentUser.put("remixByDefault", toggle);
            currentUser.saveInBackground();

            toggle = !toggle;
            return toggle;
        }

    });
person Martin Erlic    schedule 15.11.2015