Ich möchte vermeiden, dass Elternaktivitäten zerstört werden, wenn ich in der Aktionsleiste auf < geklickt habe.
Ihre Elternaktivität wird pausiert, sobald Sie diese Schaltfläche drücken, anstatt zerstört wird.
Gibt es eine Möglichkeit für mich, sie zu überschreiben? und gibt es eine Möglichkeit, für alle Aktivitäten zu überschreiben?
Rufen Sie einfach:
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
Sie müssen es Aktivitäten rufen Sie die Taste außer Kraft setzen möchten. Es gibt keine andere Möglichkeit, es einmal für alle zu nennen.
Welche Methode wird von AppCompatActivity aufgerufen, wenn wir diese Schaltfläche drücken?
Standardmäßig ist keine Methode darin enthalten. Wenn Sie Toolbar
verwenden, rufen Sie setNavigationOnClickListener()
auf, um etwas zu tun, wenn diese Taste gedrückt wird.
@Override
public boolean onCreateOptionsMenu(Menu menu) {
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
// do something here, such as start an Intent to the parent activity.
}
return super.onOptionsItemSelected(item);
}
Wenn Sie den Klick-Listener auf der Symbolleiste festlegen, wird es nicht mehr zum übergeordneten Element zurückkehren, wenn Sie etwas Äquivalenz aufrufen "NavUtils.navigateUpFromSameTask" im Listener –