【发布时间】:2015-06-05 20:32:29
【问题描述】:
我的活动中有 5 个片段。 片段 A 是默认片段。
所有片段中都有滑动菜单可以切换其他4个片段。 所以我只想将 Fragment A 添加到 backstack .. 所以 从 A 调用 Fragment B/C/D/E 时,A 会被添加到 backstack 中。
现在从片段 B 中说,我正在从菜单抽屉中选择片段 C。无需将其添加到后台堆栈。现在按下后退按钮,我可以看到我的默认片段是正确的。但是当我再次尝试从 A 更改任何片段 B/C/D/E 时,片段 A 仍然可见。
fA->add to backstack->fB->fC->Back button->fA->add to backstack...->fB...但是片段A在这里仍然可见。 有什么解决办法吗?
这是我的代码:
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.flContainer, fragment, fragment.getClass().getSimpleName());
if (isAdd) {
transaction.addToBackStack(fragment.getClass().getSimpleName());
}
transaction.commit();
drawerLayout.closeDrawer(Gravity.RIGHT);
【问题讨论】:
-
需要为不同片段类的每个父布局应用背景色。
-
@PiyushGupta 您是否建议透支应用程序?这是一个性能问题。永远不要那样做。
-
我不是告诉他画应用程序。只需设置背景颜色!
-
如果您设置背景颜色,您将透支应用程序。我认为您不知道android上的透支是什么。查看我的博客:androidshenanigans.blogspot.pt/2015/03/…
-
仍然有问题。在为每个片段布局设置背景颜色之后。
标签: android fragment fragmenttransaction