[JAVA] So führen Sie einen bestimmten Vorgang aus, wenn die Zurück-Taste im Android-Fragment gedrückt wird

Fassen Sie die Zurück-Taste (Zurück-Taste) des Terminals auf der Fragment-Seite an und führen Sie eine bestimmte Verarbeitung durch!

Ursprünglich wollte ich die Zurück-Schaltfläche auf der Fragment-Seite steuern, aber da es notwendig ist, onBackPressed () in Aktivität zu überschreiben und zu steuern, konnte ich Folgendes implementieren und betreiben.

Die grobe Strömung ist wie folgt

Fügen Sie der ursprünglichen Aktivität zunächst Folgendes hinzu

    @Override
    public void onBackPressed() {
        Fragment fragment = getSupportFragmentManager().findFragmentByTag("handlingBackPressed");
        if (fragment instanceof OnBackKeyPressedListener) {
            ((OnBackKeyPressedListener) fragment).onBackPressed();
        }
        super.onBackPressed();
    }

Geben Sie findFragmentByTag einen geeigneten Namen. Hier wird es als "Umgang mit BackPressed" eingestellt.

Dann erstellen Sie die Schnittstelle OnBackKeyPressedListener.java

public interface OnBackKeyPressedListener {
    void onBackPressed();
}

Fügen Sie als Nächstes das Tag "handleBackPressed" hinzu, wenn Sie ein Fragment generieren, das Sie über die Schaltfläche "Zurück" steuern möchten.

fragment = new HogeFragment();
manager.beginTransaction().replace(R.id.main_area_layout, fragment, "handlingBackPressed").addToBackStack(null).commit();

Erben Sie die von HogeFragment erstellte Schnittstelle und fügen Sie einen bestimmten Prozess in onBackPressed () hinzu.

public class FavoriteItemListFragment implements OnBackKeyPressedListener {
・ ・ ・ ・
    @Override
    public void onBackPressed() {
        //Behandelt wichtige Ereignisse zurück und beschreibt die erforderliche Verarbeitung.
        //Zeigen Sie beispielsweise den Text im Symbolleistenbereich an, der von Aktivität gesteuert wird.
        TextView leftToolbarText = mContext.findViewById(R.id.tool_bar_left_text);
        leftToolbarText.setVisibility(View.VISIBLE);
    }

das ist alles!

Recommended Posts

So führen Sie einen bestimmten Vorgang aus, wenn die Zurück-Taste im Android-Fragment gedrückt wird
[Android] Steuern Sie das Ereignis einfach, wenn Sie in Fragment auf die Schaltfläche Zurück klicken
So geben Sie den Wert aus, wenn sich ein Array im Array befindet
So verweisen Sie auf eine Spalte, wenn Sie die Spaltennamensmethode in ActiveRecord überschreiben
Festlegen, wann in junit "Der Konstruktor Empty () ist nicht sichtbar" auftritt
Wie weit ist die richtige Antwort, um den Prozess zu teilen?
[Android / Java] Richten Sie eine Schaltfläche ein, um zu Fragment zurückzukehren
[Rails] So laden Sie JavaScript in einer bestimmten Ansicht
So ändern Sie den Prozess in Abhängigkeit von der Liste, die gedrückt wird, wenn mehrere ListViews vorhanden sind
So machen Sie einen Screenshot mit dem Android Studio-Emulator
So stellen Sie die Chronik ein, wenn sich die Zeit in CentOS7 verschiebt
So erstellen Sie ein Platzhalterteil zur Verwendung in der IN-Klausel
[Android] So überprüfen Sie, ob der Google Play-Entwicklerdienst beim Starten der Anwendung installiert ist
So lösen Sie das Problem, wenn der Wert nicht gesendet wird, wenn das Formular in Schienen deaktiviert und gesendet wird
So fügen Sie dieselben Indizes in ein verschachteltes Array ein
[jOOQ] Wie in der WHERE / AND / OR-Klausel WANN FALLEN
Speichern der im Textbereich eingegebenen Informationen in einer Variablen in der Methode
So identifizieren Sie den Pfad, auf dem leicht Fehler gemacht werden können
So beheben Sie den unbekannten Fehler, der bei der Verwendung von slf4j in Java aufgetreten ist
[Android] Ich möchte den Listener über die Schaltfläche in ListView abrufen
[Android] So erstellen Sie ein Dialogfragment
So lösen Sie das Problem, dass die Bean beim Verschachteln in Spring Batch nicht ordnungsgemäß verarbeitet wird
So stellen Sie das Bild mithilfe der Symbolschriftart (Symbole) links / rechts von der Schaltfläche auf zeichnbar ein
Was tun, wenn der Vorgang nicht zulässig ist, wenn ein Befehl im Terminal ausgeführt wird?
Ändern Sie die Verarbeitung, wenn Sie für jede Liste auf die Schaltfläche in RecyclerView klicken
Anmerkung: [Java] Wenn sich eine Datei im überwachten Verzeichnis befindet, verarbeiten Sie sie.
So erhalten Sie das aktuelle Datum als Zeichenfolge im Format JJJJMMTT
[Docker] Erstellen, wenn der Quellcode auf dem Container gebunden ist
[Java small story] Überwachen Sie, wann der Liste ein Wert hinzugefügt wird
[Java] Wie man mit der String-Klasse an die Spitze eines bestimmten Strings kommt
So ermitteln Sie die Gesamtzahl der Seiten beim Paging in Java
So beschränken Sie die Aktion des Übergangsziels, wenn Sie nicht angemeldet sind
So ändern Sie den Wert einer Variablen an einem Haltepunkt in IntelliJ
So übergeben Sie einen Proxy, wenn Sie REST mit SSL in Java auslösen
So ermitteln Sie den absoluten Pfad eines in Java ausgeführten Verzeichnisses
Was tun, wenn der Tomcat-Prozess bestehen bleibt, wenn Sie Tomcat in Eclipse stoppen?
Android-Entwicklung, wie man den Wert des JSON-Objekts auf null überprüft
Ist es möglich, die Bibliothek (aar) in die Android-Bibliothek (aar) zu stellen und zu verwenden?
So fügen Sie ein Video in Rails ein
Sind Sie immer noch erschöpft von der Beispielvideosuche? Eine Schaltfläche zum Senden von FANZA-Videos an Slack, wenn diese gedrückt wird.
So beheben Sie den Fehler 'ActionView :: Template :: Error' (Das Asset "application.css" ist in der Asset-Pipeline nicht vorhanden. '"Beim Vorkompilieren von Rails-Assets
Android Drücken Sie einfach eine Taste
So erhalten Sie das Datum mit Java
[Hinweis] [Anfänger] Schreiben, wenn der Wert eines Array-Elements in einem sich wiederholenden Satz von Ruby geändert wird
So veröffentlichen Sie eine Bibliothek in jCenter
Wenn Sie einem Argument in einer Ruby-Methode neu zuweisen und dann "super" aufrufen → Das neu zugewiesene wird verwendet
Verwendung von ExpandableListView in Android Studio
So leiten Sie zu http-> https um, wenn SSL in der Rails × Heroku-Umgebung aktiviert ist
So erhalten Sie die ID eines Benutzers, der sich in Swift bei Firebase authentifiziert hat
So überprüfen Sie, ob eine Instanzvariable in einer Ruby-Klasse definiert ist
So beheben Sie einen Absturz beim Löschen von Realm-Daten in der Liste der schnellen Benutzeroberfläche
Androd: Was tun gegen "The Realm befindet sich bereits in einer Schreibtransaktion in"
So erstellen Sie eine eindeutige Datenkombination in der Schienen-Zwischentabelle
So lösen Sie, wenn Sie mit einem neuen Container keine Verbindung zur Datenbank herstellen können, weil der Port dem vorhandenen Docker-Container zugewiesen ist