C
cqp
Neues Mitglied
- 0
Hi,
ich habe mir einen Switch Schieber gebastelt, der passt auch soweit, wenn die App startet, steht er auf Ein, so wie ich es auch programmiert habe.
Aber wenn ich dann auf einen Button klicke und in eine neue View reinkomme und dann auf den zurück Button klicke auf dem Smartphone, steht der auf aus, obwohl in der neuen View nix mit dem Wert gemacht wird.
Ich denke mal, es liegt daran wie ich den Zurück Button programmiert habe?
Ich würde es ja noch verstehen, wenn der "Switch" wieder auf den Wert gesetzt wird, den er beim Starten der App hat. Es ist auch egal ob der er auf Ein oder Aus steht, wenn ich in eine neue View gehe und wieder zurück komme, steht er immer auf aus. Ich würde es gerne so haben, dass er immer so steht wie er zu letzt stand...
Jemand eine Idee?
Danke
EDIT: Gerade noch mal ausprobiert, jetzt klappts nur ganz sporadisch, dass er mir den richtigen Wert gibt!?!
Wenn ich auf den Button klicke, gibts mir den aktuellen Wert von "alarm" aus. Manachmal funktioniert das und manchmal nicht!? Dann kann ich schieben wie ich will, aber der Wert bleibt immer gleich wenn ich auf den Button klicke....
EDIT2: Ok das Edit habe ich jetzt selbst gelöst
Wenn ich die App starte kann ich es hin-und her switchen und der Wert ändert sich auch immer.
Aber wenn ich von einer anderen View zurück komme, dann kann ich zwar noch hin und her schiebe aber der Wert ändert sich nicht. Ich denke mal das liegt daran, dass ich dann nicht mehr in der onCreate Methode drin bin wenn ich aus einer anderen View komme? Und deswegen der COde da drin nicht beachtet wird?
ich habe mir einen Switch Schieber gebastelt, der passt auch soweit, wenn die App startet, steht er auf Ein, so wie ich es auch programmiert habe.
Aber wenn ich dann auf einen Button klicke und in eine neue View reinkomme und dann auf den zurück Button klicke auf dem Smartphone, steht der auf aus, obwohl in der neuen View nix mit dem Wert gemacht wird.
Ich denke mal, es liegt daran wie ich den Zurück Button programmiert habe?
Code:
public boolean onKeyDown(int KeyCode, KeyEvent event) {
if (KeyCode == KeyEvent.KEYCODE_BACK && mainIsOpen == false) {
mainIsOpen = true;
setContentView(R.layout.activity_main);
return true;
}
return super.onKeyDown(KeyCode, event);
}
Jemand eine Idee?
Danke
EDIT: Gerade noch mal ausprobiert, jetzt klappts nur ganz sporadisch, dass er mir den richtigen Wert gibt!?!
Code:
alarmsw = (Switch) findViewById(R.id.sAlarm);
alarmsw.setChecked(true);
alarmsw.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
if(isChecked){
alarm = true;
}else{
alarm = false;
}
}
});
Code:
if(v.getId() == R.id.bExit){
//System.exit(0);
System.out.println(alarm);
}
EDIT2: Ok das Edit habe ich jetzt selbst gelöst
Code:
if(alarmsw.isChecked()){
alarm = true;
}
else {
alarm = false;
}
}
Wenn ich die App starte kann ich es hin-und her switchen und der Wert ändert sich auch immer.
Aber wenn ich von einer anderen View zurück komme, dann kann ich zwar noch hin und her schiebe aber der Wert ändert sich nicht. Ich denke mal das liegt daran, dass ich dann nicht mehr in der onCreate Methode drin bin wenn ich aus einer anderen View komme? Und deswegen der COde da drin nicht beachtet wird?
Zuletzt bearbeitet: