片段后退按钮

时间:2014-02-17 11:52:48

标签: android android-fragments android-actionbar back-button

我知道如何在Backstack中添加Fragment但是我怎么知道,当用户按下后退按钮时,我离开了哪个片段以及我去了哪个片段?我需要根据这个做一些动作,所以我需要知道我要去哪个片段。具体来说,我需要知道我留下了哪个片段,如果它是某个片段,我可以删除一个按钮。

2 个答案:

答案 0 :(得分:1)

覆盖onBackPressed中的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();
}

答案 1 :(得分:0)

您可以像这样添加片段:

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

删除片段时请执行以下操作:

ArticleMain myFragment = (ArticleMain) getFragmentManager()
                        .findFragmentByTag("MY_FRAGMENT");
                if (myFragment.isVisible()) {
                    // add your code here
                    myFragment.getFragmentManager().beginTransaction()
                            .remove(myFragment).commit();
                }