[英]Same Fragment is adding to BackStack
我试图控制当用户点击相同的菜单项时,片段被添加到BackStack时脉冲在同一项目中。
这每次都会产生相同屏幕的负载。
此外,只要后退按钮中的脉冲显示同一屏幕。
FragmentManager manager = getSupportFragmentManager();
boolean fragmentPopped = manager.popBackStackImmediate(fragmentTag, 0);
FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
if (!fragmentPopped){
fragmentTransaction.replace(R.id.content_frame, fragment, fragmentTag);
}
fragmentTransaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
fragmentTransaction.addToBackStack(fragmentTag);
fragmentTransaction.commit();
this.currentTag = fragmentTag;
这是我的代码。
任何想法?
谢谢
最后我解决了它,检查片段是否为空,如果它是真的,我不添加addToBackStack
Fragment f = getSupportFragmentManager().findFragmentByTag(fragmentTag);
if(f != null) {
getSupportFragmentManager().beginTransaction()
.replace(R.id.content_frame, fragment, fragmentTag).commit();
}else{
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.content_frame, fragment, fragmentTag);
ft.addToBackStack(fragmentTag);
ft.commit();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.