Android Back Button kehrt nicht zur vorherigen Aktivität zurück

Ich habe eine App, die zwei Aktivitäten hat: MainActivity und SettingsActivity. Die MainActivity verfügt über ein Menü mit einem Einstellungsmenü. Wenn dieser Menüpunkt geklickt wird, startet er die EinstellungenAktivität mit einer Absicht. Nachdem die Aktivität gestartet ist, klicke ich in die obere linke Ecke und es geschieht nichts. Ich nahm an, seit ich die Aktivität mit einer Absicht begonnen habe, würde der Aktivitätsstapel automatisch verwaltet. Ich möchte zur MainActivity zurückkehren. Bin ich in dieser Annahme falsch?

MainActivity.onMenuItemSelected

  • Android: Ein Verizon Droid Puzzle
  • Set Bild auf der linken Seite von EditText in Android
  • Mehrfachaufruf zum Startvorplatz?
  • Ich bekomme einen Fehler "Die Methode zeigen (FragmentManager, String)"
  • Unterschied zwischen make und build in Android Studio
  • Bearbeiten Konfiguration benutzerdefinierte spezifische Instrumentierung Läufer fehlende Eigenschaft
  • public boolean onMenuItemSelected(int featureId, MenuItem item) { int itemID = item.getItemId(); if(itemID == R.id.settings) { Intent intent = new Intent(this, SettingsActivity.class); startActivity(intent); } return true; } 

    EinstellungenAktivität

     public class SettingsActivity extends PreferenceActivity { public static final String TEST = "test"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.preferences); } } 

  • Gibt es irgendwelche Werkzeuge, um eine Iphone lokalisierte String-Datei in eine String-Ressourcen-Datei zu konvertieren, die in Android verwendet werden kann?
  • Mit Facebook's Fresco eine Bitmap laden
  • Chrome native App installieren Banner und Hinzufügen zu Home Screen
  • Ist es möglich, die Farbe des ausgewählten Tabs in Android zu ändern?
  • Measure view in Fragment
  • Überprüfen Sie, ob ein Fragment vorhanden ist und es wiederverwenden
  • 2 Solutions collect form web for “Android Back Button kehrt nicht zur vorherigen Aktivität zurück”

    Innerhalb deiner SettingsActivity musst du onOptionsItemSelected überschreiben, um die Zurück-Taste in der oberen linken Ecke der Aktionsleiste zu onOptionsItemSelected , um zurückzukehren. Es weiß nicht, dass das, was es braucht, um zu tun. Innerhalb des Falles android.R.id.home Sie einfach rufen finish() . Dies wird Ihre aktuelle Aktivität beenden und du wirst zurück zu MainActivity gehen, die es angefangen hat. Z.B:

     @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: this.finish(); return true; } return super.onOptionsItemSelected(item); } 

    Gerade zur Vollständigkeit, um die Home-Taste zu aktivieren, kannst du folgendes in deiner onCreate() von SettingsActivity hinzufügen:

     getActionBar().setDisplayHomeAsUpEnabled(true); 

    Wie pro docs von setDisplayHomeAsUpEnabled ()

    It is to show the user that selecting home will return one level up rather than to the top level of the app.

    Hoffe das hilft.

    Fügen Sie einfach diese Zeilen in Ihrem OnCreate Methord hinzu

      getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setHomeButtonEnabled(true); 

    Und überschreiben Sie diese Methode, um Funktionalität Ihrer Back-Taste hinzuzufügen:

      @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } else if(id==android.R.id.home) { finish(); return true; } return super.onOptionsItemSelected(item); } 

    Hoffe es hilft dir

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.