"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

A
Antworten
11
Aufrufe
353
swa00
swa00
G
Antworten
0
Aufrufe
506
gnome2012
G
F
Antworten
2
Aufrufe
1.009
Feuerstern
F
Zurück
Oben Unten