Jeg vil gjøre noe enkelt på Android-appen. Hvordan er det mulig å gå tilbake til en tidligere aktivitet.
Hvilken kode trenger jeg for å gå tilbake til forrige aktivitet?
Android-aktiviteter lagres i aktivitetsbunken. Å gå tilbake til en tidligere aktivitet kan bety to ting.
Du åpnet den nye aktiviteten fra en annen aktivitet med startActivityForResult. I så fall kan du bare kalle finishActivity()-funksjonen fra koden din, og den tar deg tilbake til den forrige aktiviteten.
Hold oversikt over aktivitetsbunken. Når du starter en ny aktivitet med en intensjon, kan du angi et intensjonsflagg som FLAG_ACTIVITY_REORDER_TO_FRONT
eller FLAG_ACTIVITY_PREVIOUS_IS_TOP
. Du kan bruke dette til å blande mellom aktivitetene i søknaden din. Jeg har imidlertid ikke brukt dem så mye. Ta en titt på flaggene her: http://developer.android.com/reference/android/content/Intent.html
Som nevnt i kommentarene, hvis aktiviteten åpnes med startActivity()
, kan man lukke den med finish()
.
Hvis du ønsker å bruke Opp-knappen, kan du fange det i onOptionsSelected(MenuItem item)
-metoden med å sjekke element-IDen mot android.R.id.home
i motsetning til R.id.home
som nevnt i kommentarene.
Ønsker du å ta kontroll over tilbake-knappens oppførsel? Du kan overstyre tilbake-knappen (for å gå til en bestemt aktivitet) via en av to metoder.
For Android 1.6 og nyere:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
// do something on back.
return true;
}
return super.onKeyDown(keyCode, event);
}
Eller hvis du bare støtter Android 2.0 eller nyere:
@Override
public void onBackPressed() {
// do something on back.
return;
}
For mer informasjon: http://android-developers.blogspot.com/2009/12/back-and-other-hard-keys-three-stories.html