Android: 如何在不破坏前一个片段状态的情况下开始一个新的片段?
Android: How to start a new fragment without destroying the state of the previous fragment?
如何用return返回状态和Fragment_1(滚动、输入、表单、其他)的能力替换Fragment_1Fragment_2?
如果你使用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
。
如何用return返回状态和Fragment_1(滚动、输入、表单、其他)的能力替换Fragment_1Fragment_2?
如果你使用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
。