1. Wir haben diesmal 2 Gewinnspiele zeitgleich für euch - Gewinne einmal ein UMI Plus E - Beim 2ten könnt ihr ein Nomu S30 gewinnen!
  1. Prengepower, 21.03.2011 #1
    Prengepower

    Prengepower Threadstarter Android-Hilfe.de Mitglied

    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.
     
  2. maniac103, 21.03.2011 #2
    maniac103

    maniac103 Android-Lexikon

    Wie wär's damit?
    Code:
    CheckBoxPreference check = (CheckBoxPreference) preferences;
    if (check.isChecked())...
    
    oder alternativ cb final machen und im Listener benutzen. ;)
     

Diese Seite empfehlen