我试图控制用户单击同一菜单项的时间,当在同一项目中脉动时,该片段将添加到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;
这是我的代码。
任何想法?
谢谢
最佳答案
最后,我解决了它,检查该片段是否不为null以及是否为真,我不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();
}
}