我有以下问题:
我的应用程序需要在平板电脑上执行如下导航:
+----+-------+ +----+-------+ +----+-------+ +----+-------+
| | | | | | | | | | | |
| 1 | 2 | -> | 2 | 3 | -> | 3 | 4 | -> | 4 | ... |
| | | | | | | | | | | |
+----+-------+ +----+-------+ +----+-------+ +----+-------+
Run Code Online (Sandbox Code Playgroud)
我尝试使用FRAGMENTS进行此导航,因为导航是动态的,我不知道此导航将具有多少级别.
使用API片段,我创建了以下结构来协助测试,多次调用相同的片段:
如果左侧面板为空,请将片段插入其中.如果左面板不为空且右窗格为空,请在右窗格中插入片段.如果两个面板不为空,请删除右面板的片段并替换左面板并为其进行操作.然后将新片段插入右侧.
问题是当我尝试执行replace方法时,我发现错误"无法更改容器片段的ID".
查看事务的Remove方法的文档具有以下信息:"删除现有片段.如果将其添加到容器,则其视图也将从该容器中删除."
但是查看API代码片段,仍然有一个变量包含对前一个Container的引用:mFragmentId.
有没有人知道完成此导航或重置此变量的方法?