0

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;
            }

        });
4

1 に答える 1

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;
        }

    });
于 2015-11-15T01:11:54.487 に答える