2016-05-04 9 views
0

Wie kann ich mit dem Zurück-Button in einem FragmentPagerAdapter umgehen? Ich drücke die Zurück-Taste, aber die App geht aus der Aktivität und ich möchte nur zum vorherigen Fragment zurückkehren.Komm zurück von FragmentPagerAdapter

+1

nur über Fahrt von Aktivität onBackPressed und erstellen Schnittstelle sagen handleback Taste gedrückt und lassen Fragment, das Tasten-Schnittstelle implementieren zurück ... wenn Sie möchten, kann ich u Code Probe geben. – dex

+0

bitte, können Sie mir Ihren Beispielcode zeigen? – cdapalc

+0

überprüfen Sie bitte die Antwort. – dex

Antwort

0
Basically we are going to implement Observer pattern here. 

Let have public interface which have one method called backButtonPressed and return boolean true or false 

public interface HandleBackButtonHandler 
{ 
    boolean backButtonPressed(); 
} 

We will notify the current fragment that back button has been pressed, Please handle it. 

Lets have fragment class as follows 

public class fragment extend Fragment implement HandleBackButtonHandler 
{ 
    ....... 

    public boolean backButtonPressed() 
    { 
     // Do what ever you want to do when user press back button here 

     return true // if you want to handle the back button pressed else return false 
    } 
    ...... 
} 



Lets override onBackPressed method of your activity where you will attach your fragments 

@Override 
public final void onBackPressed() 
{ 

    HandleBackButtonHandler handlebackButtonViaFragment = (HandleBackButtonHandler) Adapter.getCurrentFragment(); // safely typecast as interface is implemented by fragment 
    if (handlebackButtonViaFragment != null && handlebackButtonViaFragment. backButtonPressed()) 
    { 
     return // this mean fragment has handle the back button, activity you don’t need to do any action 
     } 
    super.onBackPressed(); 
} 
Verwandte Themen