Verwenden von onBackPressed () in Android-Fragmenten

Ich arbeite an einem Projekt und muss in der Lage sein, über die Schaltfläche "Zurück" in jedem Fragment zwischen vorherigen Fragmenten zu navigieren. Ich habe Methoden, die mithilfe eines Zurück-Pfeils in der Aktionsleiste geschrieben wurden. Ich möchte jedoch in der Lage sein, zu navigieren Um die gleiche Funktion zu verwenden, drücken Sie die Zurück-Taste. Ich möchte den Backstack nicht benutzen. Gibt es eine Möglichkeit, dies zu tun?

BEARBEITEN

Anstatt den Backstack zu verwenden, möchte ich in der Lage sein, die Methode "Zurück zur vorherigen Methode" unten aufzurufen, wenn der Benutzer auf die Schaltfläche "Zurück" klickt. Ich muss die Gobackpress-Methode in Fragmenten anwenden. Ist das möglich? Ich hoffe das ist klar und prägnant. Wir entschuldigen uns für die oben verursachte Verwirrung.

Zurück zum vorherigen

public void gobackToPreviousFragment(String preFragmentTag, Fragment preFragment){

    FragmentManager  fm = getSupportFragmentManager();

    FragmentTransaction ft = fm.beginTransaction();
    ft.setCustomAnimations(R.animator.close_slide_in,R.animator.close_slide_out);

    ft.show(preFragment);

    //**BY REMOVING FRAGMENT, WHEN USER TRIES TO REVISIT, FRAGMENT IS BLACK**

    ft.remove(fm.findFragmentByTag(Misc.currentContentFragmentTag));
    ft.addToBackStack(null);
    ft.commit();

    Misc.currentContentFragmentTag = preFragmentTag;

    createBar(preFragment);
}

Vorwärts gehen

public void gotoNextFragment(String nextTag, Fragment nextFragment){

    FragmentManager  fm = getSupportFragmentManager();

    FragmentTransaction ft = fm.beginTransaction();
    ft.setCustomAnimations(R.animator.enter_slide_in, R.animator.enter_slide_out);

    boolean newlyCreated = false;
    if(nextFragment == null){
        nextFragment = Fragment.instantiate(this, nextTag);
        newlyCreated = true;
    }

    //hide current fragment
    ft.hide(fm.findFragmentByTag(Misc.currentContentFragmentTag));

    if(newlyCreated){
        ft.add(R.id.content_frame, nextFragment, nextTag);
    }
    else{
        ft.show(nextFragment);
    }

    ft.addToBackStack(null);
    ft.commit();
    Misc.currentContentFragmentTag = nextTag;

    createBar(nextFragment);
}

So navigiere ich hin und her und möchte die go back-Methode auf onBackPressed () implementieren können. Macht das Sinn?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage