Android Case à cocher de préférence

Je ne trouve pas de tutoriels sur la case à cocher de préférence. Je peux utiliser un listpreference, mais je ne peux pas utiliser la case à cocher de préférence. Pour l'instant, je veux que si l'utilisateur définit dans le checbox, un toast msg dit "vrai", et si il met le tout, le toast msg dit "faux". Pour l'instant j'ai ceci:

preferences.xml:

 <CheckBoxPreference
          android:title="Show Call UI"
          android:defaultValue="true"
          android:summary="Show Call Interface when clicking call button"
          android:key="checkboxPref" />

EditPreferences.java:

public class EditPreferences extends PreferenceActivity {

    String listPreference;
    boolean checkboxPreference;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.preferences);
    }

    public void onStart(Intent intent, int startId) {
        getPrefs();
    }

    private void getPrefs() {
        SharedPreferences prefs = PreferenceManager
                .getDefaultSharedPreferences(getBaseContext());
        listPreference = prefs.getString("listPref", "nr1");
        checkboxPreference = prefs.getBoolean("checkboxPref", true);
    }
}

Edit: Solution merci à David Caunt:

checkboxPreference.
    setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {

    public boolean onPreferenceChange(Preference preference, Object newValue) {
        if (newValue.toString().equals("true")) {
            Toast.makeText(getApplicationContext(), "CB: " + "true",
                                                    Toast.LENGTH_SHORT).show();
        } else {
            Toast.makeText(getApplicationContext(), "CB: " + "false",
                                                    Toast.LENGTH_SHORT).show();
        }
        return true;
    }
});
  • Veuillez le modifier pour avoir des variables de commencer avec de petites lettres, il est très difficile de voir les choses comme CheckboxPreference comme noms de variable !
InformationsquelleAutor erdomester | 2011-06-27