我有一个在 ViewFlipper 中托管 3 个片段的活动。这三个片段中的每一个都承载着自己的片段。我使用 ViewFlipper 就像一个选项卡控件,它允许我在应用程序中的各种“视图”之间非常简单地切换。到目前为止,这一切都很好。
当用户在视图内时,会有一个导航流程。我用:
final FragmentTransaction txn = getChildFragmentManager()
.beginTransaction();
txn.replace(R.id.view1_silo_container,
new View1Fragment());
txn.addToBackStack(null);
txn.commit();
在这个视图内移动。所以当用户导航时,我调用上面代码的一些变体来用一个新的片段替换当前片段。同样,到目前为止,这一切都很好。
问题是,当我到达底部片段(A>B>C)然后我点击后退按钮从(C>B)我得到一个重复的 id 错误。问题是“B”片段本身有一个嵌套在其中的片段。只要我避免给这个片段一个id,就没有问题。但是,如果我给这个片段一个 id,那么我会得到“重复的 id、标记 null 或父 id 0x0 与另一个片段”。
我不明白为什么这是一个问题,我还没有找到解决它的方法。我做错了吗?我缺少一些小块吗?