隐藏片段后如何避免清空space

How to avoid emptying space after hiding a fragment

我想在完成当前步骤后向用户显示下一步。为此,我正在使用片段。所以我在完成第一个任务时隐藏 window 的下一个区域,但是当我隐藏一个片段并显示下一个片段时,它占据了两个片段网的所有区域。如何避免这种情况?

隐藏片段的代码如下:

FragmentTransaction ft = getFragmentManager().beginTransaction();
        ft.setCustomAnimations(android.R.animator.fade_in,
                android.R.animator.fade_out);
        if(flag == 1){
            ft.show(fragment);
        }else ft.hide(fragment);

        ft.commit();

像这样包裹在其他布局中:

<LinearLayout>
  <Fragment>
  </Fragment>
</LinearLayout>

并设置linearlayout.setvisibility(1)

我这样做了,它正在工作,但这真的是一种好的编程方式吗?

更好的方法是将 FirstFragment 替换为 SecondFragment,如下所示:

SecondFragment secondFragment= new SecondFragment();
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.setCustomAnimations(android.R.animator.fade_in, android.R.animator.fade_out);
ft.replace(R.id.yourlayout, secondFragment).commit();