Android: 如何在不破坏前一个片段状态的情况下开始一个新的片段?

Android: How to start a new fragment without destroying the state of the previous fragment?

如何用return返回状态和Fragment_1(滚动、输入、表单、其他)的能力替换Fragment_1Fragment_2?

enter image description here

如果你使用Activities,那么你可以使用方法startActivityForResult。该方法的工作完美地展示了当前任务的碎片。

我不想保存值然后替换它们。我们需要 Fragment_1 保持完整。

如何在打开新fragment_N和使用backstack翻屏时保存之前片段的状态?

是否有现成的库来执行这些任务?

您可以添加新片段并隐藏当前片段,而不是替换片段。

像这样

FragmentTransaction t = getFragmentManager.beginTransaction();
t.hide(your_current_fragment);
t.add(container, new_fragment);
t.addToBackStack(TAG);
t.commit();

不会丢失隐藏片段的状态

FragmentTransaction t = getFragmentManager.beginTransaction();
t.hide(your_current_fragment);
t.add(container, new_fragment);
t.addToBackStack(TAG);
t.setCustomAnimations(R.anim.open_enter,R.anim.close_exit,R.anim.open_enter,R.anim.close_exit)

t.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
t.setTrans
t.commit();

FragmentPagerAdapter替换为HorizontalScrollView包含2FrameLayout用于fragment。您可以在FrameLayout中自由更改fragment