我有4个片段,而我想做的是,当我用新的片段B / C或D替换它时,冻结片段A。
然后用片段A替换B / C / D,片段不会改变状态。
我有Google Maps,我正尝试返回到保存状态,但是问题是重新创建了片段...
我可以在锁定屏幕以及达到新意图时执行此操作。
如果有人可以帮助我,真的很感激。
感谢您的帮助:D
最佳答案
试试这个
使用此功能打开片段。您必须传递该垂直片段的标签。
private Fragment currentFragment;
public void openNewFragment(Fragment f, String tag) {
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
Fragment fragment = getSupportFragmentManager().findFragmentByTag(tag);
{
if (fragment != null) {
if (currentFragment != null) {
if (fragment.getClass().equals(currentFragment.getClass())) {
return;
}
}
ft.show(fragment);
ft.hide(currentFragment);
currentFragment = fragment;
} else {
if (currentFragment != null)
ft.hide(currentFragment);
ft.add(R.id.container, f, tag);
currentFragment = f;
}
ft.commit();
}
}