Checkbox lässt sich net checked setzen.

  • 6 Antworten
  • Letztes Antwortdatum
P

PhillippOh

Fortgeschrittenes Mitglied
10
Hey,

ich habe bei mir in den App Einstellungen eine Checkbox eingebaut. Wenn man die betätigt, wird entweder true oder false in die SharedPreferences gespeichert.

Nun will ich beim Aufruf der Activity prüfen, ob in den SharedPreferences nun true oder false steht und dann die Checkbox entsprechend checken oder unchecked lassen.

Hier mal meine Abfrage im onCreate:

Code:
        final CheckBox checkBoxZoomen = (CheckBox) findViewById(R.id.cbZoomen);
        String cbZoomValue;
        cbZoomValue = getSharedPreferences(PREFS_NAME, MODE_PRIVATE).getString(PREFS_ZOOM, "false");
        
        if(cbZoomValue == "true"){
        	checkBoxZoomen.setChecked(true);
        }else{
        	checkBoxZoomen.setChecked(false);
        }

Wenn ich die App nun starte, dann ist die Checkbox immer unchecked. Wenn ich statt dem setChecked() nun den Inhalt von cbZoomValue in einem TextView ausgebe, dann steht dort entsprechend true oder false, also verstehe ich nicht, warum meine Abfrage nicht klappt. Oder liegt es am setChecked, dass ich da was falsch mache?

Gruß
Phillipp
 
== "true"

wird nie zutreffen
 
Natürlich, ich habs als String in den Preferences gespeichert. Wird ja auch erfolgreich in nem TextView ausgegeben.
 
Strings vergleicht man nicht mit ==, sondern mit der Methode equals ;)

cbZoomValue.equals( "true" )
 
Ok, danke für die Antwort. Es hat tatsächlich geklappt, obwohl ich gerade etwas verwirrt bin, da es sonst auch geklappt hat.

Code:
		klassenid = getSharedPreferences(PREFS_NAME, MODE_PRIVATE).getString(PREFS_ID, "0");
		
		if(klassenid == "0"){

Das funktioniert wunderbar, obwohls ja auch n String ist.
 
Mal so nebenbei, warum speicherst du den status nicht gleich als boolean?
Dann brauchst du die if-Zweige schon mal nicht.

Gesendet von meinem Galaxy Nexus mit der Android-Hilfe.de App
 
Hab ich vorhin mal kurz versucht, aber Eclipse hat da irgendwie rumgemeckert. Funktioniert ja auch so jetzt, deswegen mach ich mir da auch keine weiteren Gedanken drüber.
 

Ähnliche Themen

D
Antworten
5
Aufrufe
661
swa00
swa00
BerndFfm
Antworten
7
Aufrufe
1.321
swa00
swa00
Zurück
Oben Unten