Android 片段事务显示不显示我的隐藏片段
这应该是一项琐碎的任务,但不知何故,我在执行中失败了 步骤1: 添加片段Android 片段事务显示不显示我的隐藏片段,android,android-fragments,fragmenttransaction,Android,Android Fragments,Fragmenttransaction,这应该是一项琐碎的任务,但不知何故,我在执行中失败了 步骤1: 添加片段 getSupportFragmentManager().beginTransaction().add(R.id.layFragment, Fragment1.newInstance(), "FragmentTag1").commit(); 步骤2: 隐藏片段并添加另一个片段。第二个应该在屏幕上可见 getSupportFragmentManager().beginTransaction().hide(getSupport
getSupportFragmentManager().beginTransaction().add(R.id.layFragment, Fragment1.newInstance(), "FragmentTag1").commit();
步骤2:
隐藏片段并添加另一个片段。第二个应该在屏幕上可见
getSupportFragmentManager().beginTransaction().hide(getSupportFragmentManager().findFragmentByTag("FragmentTag1")).commit();
getSupportFragmentManager().beginTransaction().add(R.id.layFragment, Fragment2.newInstance()),"FragmentTag2").commit();
步骤3:
删除第二个片段,再次显示第一个片段
getSupportFragmentManager().beginTransaction().remove(getSupportFragmentManager().findFragmentByTag("FragmentTag2")).commit();
getSupportFragmentManager().beginTransaction().show(getSupportFragmentManager().findFragmentByTag("FragmentTag1")).commit();
步骤1和2工作正常。在步骤3中,片段2被删除,但片段1不会再次显示,即使它当前处于隐藏状态
有什么想法吗?第一次你必须添加你的片段,下一次你可以用你想要的片段替换片段
FragmentTransaction ft = getFragmentManager()
.beginTransaction();
ft.replace(R.id.details, your fragment instance);
ft.addToBacksStack(null);
ft.commit();
不调用隐藏和添加、重新删除和显示,只需调用:
getSupportFragmentManager().beginTransaction()
.replace(int containerViewId, Fragment fragment, String tag)
替换添加到容器中的现有片段。请详细说明一下好吗?