Question

I know how to add a Fragment to the backstack but how do I know, when the user presses the back Button, which fragment I left and which I went to? I need to do a certain action depending on this so I need to know from and to which fragment I am going. Specifically I need to know which fragment I left so if it is a certain fragment, I can remove a button.

Was it helpful?

Solution

Override onBackPressed in Activity:

@Override
public void onBackPressed(){
      FragmentManager fm = getSupportFragmentManager();
      Fragment f = fm.findFragmentById(R.id.content_frame); // get the fragment that is currently loaded in placeholder
      Object tag = f.getTag();
      // do handling with help of tag here
      // call super method
      super.onBackPressed();
}

OTHER TIPS

You can add the Fragment like this :

ArticleMain articalemain = new ArticleMain();
getFragmentManager().beginTransaction().add(R.id.fragment_Top, articalemain,     "MY_FRAGMENT").commit();

While Removing the Fragments do like this :

ArticleMain myFragment = (ArticleMain) getFragmentManager()
                        .findFragmentByTag("MY_FRAGMENT");
                if (myFragment.isVisible()) {
                    // add your code here
                    myFragment.getFragmentManager().beginTransaction()
                            .remove(myFragment).commit();
                }
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top