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