【发布时间】:2013-08-29 17:41:00
【问题描述】:
我有一个应用程序,其中包含一个 Activity 和许多片段,可在装有 Android 4.0 和用户 support.library.v4 的平板电脑上运行
第一个屏幕显示两个片段 A 和 B:
----------------------------------
A | B <view pager>
|------------------------
<list |
view> |
| <view pager>
|
----------------------------------
单击A项目后,我添加了一个新片段A,并为当前片段A添加了后置任务。我显示了一个新片段A1,C-C包括嵌套片段D和E通过replace(,D,)添加,没有添加到backstak
----------------------------------
A1 | C
|
<list | D | E
view> | |
| |
| |
----------------------------------
当我开始处理背部行为时,就会出现问题。我开始在片段 B 中为我的适配器使用 getShildFragmentManager() 所以返回开始显示前一个屏幕,但在此片段之间多次单击后:A -> A1, C(D,E) -> BACK -> A -> A1, C( D,E) -> BACK -> A -> A1, C(D,E) -> BACK -> [ISSUE] 我看到一个片段 A 但没有看到片段 B 有时只是前一个片段 D 的背景E
你能告诉我我的问题在哪里吗?
附加信息 1)我为片段A和B设置了两个框架布局容器的布局 2) A 是列表片段 3)用户点击A的项目 4)A被新的A实例替换,A在backstak中加入; B 被新片段 C 替换,该片段 C 具有用于 D 和 E 片段的两个框架布局容器的布局 5)用户点击A实例,C通过repalce显示D和E片段,不要将此事务添加到backstack 6) 用户点击返回 7) 返回步骤 1)
【问题讨论】:
-
请明确定义导航流程