Wie ändere ich den ToggleButton-Status programmgesteuert?

8

Ich habe einen ToggleButton wie folgt definiert:

%Vor%

Und ich möchte seinen Zustand programmatisch ändern. Ich habe versucht, die Methoden setChecked und toggle zu verwenden, aber beides funktioniert in meiner Situation nicht.

Ich habe eine laufende Benachrichtigung und wenn meine Aktivität den Benachrichtigungsabsicht erhält, die Umschalttaste sollte nicht aktiviert sein, aber es funktioniert nicht.

Ich mache das für die onResume der Aktivität. Der Code wird ausgeführt, aber der Status des ToggleButtons ändert sich nicht.

Seltsamerweise, wenn ich setChecked(false) für die onCreate der Aktivität anrufe, ändert sich der Zustand der Schaltfläche, aber nicht onResume . Was vermisse ich?

Danke.

    
Franco 09.05.2011, 21:44
quelle

3 Antworten

15

Verstanden. Art von.

Ich hatte das

%Vor%

Aber der Aufruf von finish hat eigentlich gar nichts gemacht. Ich habe es entfernt und jetzt funktioniert es. Keine Ahnung, warum das so war.

Jemand interessiert es, es zu erklären?

    
Franco 10.05.2011, 00:41
quelle
1

Anruf Beenden, wenn Ihre Aktivität abgeschlossen ist und geschlossen werden sollte. Das ActivityResult wird an den Benutzer zurückgegeben, der Sie über onActivityResult () gestartet hat.

Also in Ihrem Fall Anstatt den toggle Button Zustand zu ändern, geht es zurück zu seiner Aufrufmethode, die onCreate () oder onPause ...

sein kann

Details zur Verwendung von hier .....

    
Saty 02.05.2013 08:02
quelle
0

Es sollte funktionieren.

Vergewissern Sie sich, dass Sie an keiner Stelle im Code, der nach dem Setzen von "false" ausgeführt wird, einen Aufruf von setChecked(true) haben. Vielleicht in einem OnCheckedChangeListener ?

    
Aleadam 09.05.2011 21:52
quelle