Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 片段事务显示不显示我的隐藏片段_Android_Android Fragments_Fragmenttransaction - Fatal编程技术网

Android 片段事务显示不显示我的隐藏片段

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

这应该是一项琐碎的任务,但不知何故,我在执行中失败了

步骤1:

添加片段

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)

替换添加到容器中的现有片段。

请详细说明一下好吗?