"Lauschen" ob CheckBoxPreferences verändert

P

Prengepower

Ambitioniertes Mitglied
0
Hallo!

Ich muss bei mir überwachen, ob eine CheckBox verändert wurde. Wenn dies der Fall ist, soll eine AKtion durchgeführt werden - allerdings unterscheidet das dabei, ob die Checkbox aktiviert oder deaktiviert wurde.

Wollte das so machen:

Code:
CheckBoxPreference cb = new CheckBoxPreference(this);
			cb.setTitle(subject.getTitle());
			cb.setOnPreferenceClickListener(new OnPreferenceClickListener(){

				@Override
				public boolean onPreferenceClick(Preference preferences) {
					if (preferences.isEnabled()){
						Log.i("Syso", "Abgewählt: "+(String) preferences.getTitle());
						uncheck.add((String) preferences.getTitle());
					}else{
						Log.i("Syso", "Gewählt: "+(String) preferences.getTitle());
						check.add((String) preferences.getTitle());
					}
					return true;
				}
				
			});
        	cb.setChecked(subject.isShow());

        	root.addPreference(cb);

Allerdings sagt er mir immer, dass die Checkbox aktiviert wurde. Glaub das liegt an dem preferences.isEnabled(), allerdings habe ich nichts gefunden, wie ich überprüfe nach z.B. isChecked()..

Wie kann ich das lösen?

Danke.
 
Prengepower schrieb:
Hallo!

Ich muss bei mir überwachen, ob eine CheckBox verändert wurde. Wenn dies der Fall ist, soll eine AKtion durchgeführt werden - allerdings unterscheidet das dabei, ob die Checkbox aktiviert oder deaktiviert wurde.

Wollte das so machen:

Code:
CheckBoxPreference cb = new CheckBoxPreference(this);
            cb.setTitle(subject.getTitle());
            cb.setOnPreferenceClickListener(new OnPreferenceClickListener(){

                @Override
                public boolean onPreferenceClick(Preference preferences) {
                    if (preferences.isEnabled()){
                        Log.i("Syso", "Abgewählt: "+(String) preferences.getTitle());
                        uncheck.add((String) preferences.getTitle());
                    }else{
                        Log.i("Syso", "Gewählt: "+(String) preferences.getTitle());
                        check.add((String) preferences.getTitle());
                    }
                    return true;
                }
                
            });
            cb.setChecked(subject.isShow());

            root.addPreference(cb);
Allerdings sagt er mir immer, dass die Checkbox aktiviert wurde. Glaub das liegt an dem preferences.isEnabled(), allerdings habe ich nichts gefunden, wie ich überprüfe nach z.B. isChecked()..

Wie kann ich das lösen?

Danke.
Wie wär's damit?
Code:
CheckBoxPreference check = (CheckBoxPreference) preferences;
if (check.isChecked())...

oder alternativ cb final machen und im Listener benutzen. ;)
 

Ähnliche Themen

G
Antworten
0
Aufrufe
383
gnome2012
G
F
Antworten
2
Aufrufe
915
Feuerstern
F
W
  • whazza
Antworten
0
Aufrufe
703
whazza
W
Zurück
Oben Unten