繁体   English   中英

相同的片段正在添加到BackStack

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM