Back-taste programmieren

O

OverBurned

Neues Mitglied
0
Hallo Community,
Ich versuche mich in letzter Zeit an einer Android-App. ich habe mittlerweile auch schon einige Funktionen eingebaut, nur jetzt hätte ich gerne, dass, wenn ich mehrere Fenster habe, ich mit der Back-Taste unten auf dem Handy zurück aufs Anfangsfenster kommen kann(bzw bei mir ist das immer ein Fenster zurück).
Wie kann ich das Programmieren?


Ich habe schon ein bischen rumprobiert aber bekomme es einfach nicht hin.


Es währe super wenn ihr mir helfen könntet.

Danke im Vorraus

OverBurned
 
Zuletzt bearbeitet:
Du kannst in der Activity die Methode onKeyDown() überschreiben:

Code:
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {

        if ((keyCode == KeyEvent.KEYCODE_BACK)) {
           // back button pressed
            
           // fill with code

            return true;
        }
        return super.onKeyDown(keyCode, event);
    }
 
Ja die wollte ich auch verwenden, nur wie muss ich den Inhalt der Methode schreiben?

Bisher habe ich das so:
public boolean onKeyDown(int keyCode, KeyEvent event){
if (keyCode == KeyEvent.KEYCODE_BACK && mainisopen == false){
mainisopen = true;
setContentView(R.layout.activity_main);
return true;
}
else if (keyCode == KeyEvent.KEYCODE_BACK && mainisopen == true){
this.finish();
}
return super.onKeyDown(keyCode, event);
}

Aber wenn sich dann die main GUI öffnet, funktionieren die Buttons nicht mehr :(
 
ok danke das klappt schon super :)
Allerdings ist es jetzt bei meiner App so, dass ich einen Stack und eine Liste als Verlauf habe und diese sind jetzt nach dem nutzen der Zurückfunktion leer.
Woran könnte das liegen? Bzw wie kann ich das verhindern?
 
Kurze Frage zum Verständnis:

Benutzt du nur eine Activity?


Für mich scheint es, dass du die Activity mit finish() beendest, und dann eine neue Activity mit den gleichen Namen neu startest. Und das neue Object weiß natürlich nichts über die Werte in deiner alten Activity.


Den Backbutton benutzt man, wenn man zwischen den Screens wechselt. Normalerweise sollte jeder Screen eine eigene Activity haben (Ausnahme Fragmente, aber die sind ein Thema für sich ;) ).

Vielleicht hilft dir folgende Info:

Navigation with Back and Up | Android Developers
 
Ja bei mir hat jede Seite eine eigene Activity. Ich möchte eigentlich nicht die App benutzen. Ich möchte nur zwischen den alten Activitys wechseln.
Der aktuelle Code für onKeyDown:

public boolean onKeyDown(int keyCode, KeyEvent event){
if (keyCode == KeyEvent.KEYCODE_BACK && mainisopen == false){
Intent intent = new Intent (this, MainActivity.class);
this.startActivity(intent);
this.finish(); // das müsste dann vermutlich anders nur ich weiß nicht wie
}
else if (keyCode == KeyEvent.KEYCODE_BACK && mainisopen == true){
this.finish();
}
return super.onKeyDown(keyCode, event);
}
 
Hat noch jemand eine Idee?
 

Ähnliche Themen

R
  • Gesperrt
  • roland-senior
Antworten
3
Aufrufe
917
swa00
swa00
R
Antworten
9
Aufrufe
729
koje71
koje71
Zurück
Oben Unten