[JAVA] [Android] Steuern Sie das Ereignis einfach, wenn Sie in Fragment auf die Schaltfläche Zurück klicken

Überblick

――Wenn ich eine bestimmte App erstellt habe, wollte ich einen Prozess zum Deaktivieren der Zurück-Schaltfläche einleiten, also ein Memorandum

MyActivity.java


@Override
    public void onBackPressed() {
      //Fügen Sie die Verarbeitung ein, wenn die Zurück-Taste gedrückt wird
    }

Methode

MyFragment.java


public class MyFragment extends Fragment {
    private OnBackPressedCallback mBackButtonCallback;

    @Override
    public void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {

        mBackButtonCallback = new OnBackPressedCallback(true) {
            @Override 
            public void handleOnBackPressed() {
                //Fügen Sie die Verarbeitung ein, wenn die Zurück-Taste gedrückt wird
            }
        };
        requireActivity().getOnBackPressedDispatcher().addCallback(this, mBackButtonCallback);
    }

    @Override
    public void onDestroy(){
        mBackButtonCallback.remove();
        super.onDestroy();
    }
}

Bemerkungen

――Es ist sehr einfach, aber wenn Sie bei der Implementierung den Rückruf nicht explizit durch remove () mit onDestroy usw. freigeben, wird der Prozess in anderen Fragmenten usw. ausgeführt. ――Das bedeutet nicht, dass Sie es ohne Erlaubnis veröffentlichen werden, daher denke ich, dass Sie in diesem Punkt vorsichtig sein müssen.

Recommended Posts

[Android] Steuern Sie das Ereignis einfach, wenn Sie in Fragment auf die Schaltfläche Zurück klicken
So führen Sie einen bestimmten Vorgang aus, wenn die Zurück-Taste im Android-Fragment gedrückt wird
Ändern Sie die Verarbeitung, wenn Sie für jede Liste auf die Schaltfläche in RecyclerView klicken
[Android / Java] Lassen Sie das Host-Fragment (Anrufer) das Ereignis von DialogFragment zurückrufen
Wenn das Projekt nicht in Eclipse angezeigt wird
Verhalten, wenn jedes im umgekehrten Bereich ausgeführt wird
So geben Sie den Wert aus, wenn sich ein Array im Array befindet
[Android / Java] Verstehen Sie den Beschreibungstyp in den Listener-Einstellungen (Schaltflächeninstallation).
[Android] Ich möchte den Listener über die Schaltfläche in ListView abrufen