Hilfe beim Auslesen der Preference.xml

  • Antworten:1
Ms Green
  • Forum-Beiträge: 530

22.12.2012, 18:17:01 via Website

Guten Abend,

Ich habe ein kleines Anfängerproblem:

In einer preference.xml ist eine CheckBoxPreference. Nun möchte ich, dass beim anhaken dieser Checkbox ein Popup erscheint, in das der Nutzer einen String schreiben kann.
Wie schafft man es, den Status der CheckBox zu überprüfen? Die schönen Methoden, die es für "normale" Checkboxen gibt, gibt es nämlich für eine CBPreference nicht...die haben ja nicht mal eine id... :(

Melde dich über diesen Link bei Dropbox an und wir bekommen beide zusätzliche 500 MB gratis! http://db.tt/nnx5UB1z

Antworten
Gelöschter Account
  • Forum-Beiträge: 281

23.12.2012, 09:49:43 via Website

Naja, Anfängerproblem ist übertrieben - ich glaube, das weiss so mancher nicht, da die gängigen Lehrbücher es unterschlagen... An sich ist es aber ganz einfach - du musst einfach nur die Preference finden und dann einen eigenen OnPreferenceClickListener definieren und anhängen.

In Code sieht das onCreate deiner PreferenceActivity dann etwa so aus:

1@Override
2protected void onCreate(Bundle saved) {
3
4 super.onCreate(saved);
5 addPreferencesFromResource(R.xml.myprefs);
6
7 // Hier holst du dir die passende Preference, die dich interessiert
8 Preference pref = findPreference("preference_key");
9
10 // Hier definierst du den ClickListener und hängst ihn an
11 pref.setOnPreferenceClickListener( new Preference.OnPreferenceClickListener() {
12 public boolean onPreferenceClick(Preference pref) {
13 // hier zeigst du deinen Dialog an
14
15 return true;
16 }
17 });
18}

— geändert am 23.12.2012, 09:51:12

Antworten