【发布时间】:2022-11-18 12:34:45
【问题描述】:
我在 MainActivity 级别 (mainActionBar) 上有一个操作栏,在片段级别 (fragActionBar) 上有一个操作栏。我有 3 个片段(A、B、C)。我希望在访问片段 A 和 B 时显示 mainActionBar。另一方面,我希望在访问片段 C 时显示 fragActionBar。
我在片段之间切换时使用replace(),并使用addToBackStack保存上一个片段,这样我就可以使用popBackStack返回到上一个片段。流程是这样的:A<->B <->C。 fragActionBar 包含向上按钮,如果我按下向上按钮,它将返回到片段 B。mainActionBar 没有向上按钮,我使用工具栏/操作栏之外的按钮在 A<->B->C 之间更改片段。所以只有 C->B 正在使用向上按钮。
当我在片段 A 和 B 上时,我成功地显示了mainActionBar。当我在片段 C 上时,我也成功地显示了fragActionBar。但是当我回到片段 B 时,mainActionBar 没有不要出现。我尝试将supportActionBar?.show() 放入onResume() 中,但没有成功。我也试着把(activity as AppCompatActivity).supportActionBar?.show()放在setNavigationOnClickListener里面,还是不行。
访问片段C后返回片段B时如何显示mainActionBar?
【问题讨论】:
-
在 Fragment C 中,您替换了 supportActionBar。当你回到 B 时,你应该再次设置 mainActionBar。
标签: android kotlin android-fragments android-actionbar android-lifecycle