gpt4 book ai didi

android - 打开某些 fragment 时如何隐藏/显示工具栏上的图标

转载 作者:行者123 更新时间:2023-12-02 12:40:20 24 4
gpt4 key购买 nike

我只有很少的 fragment 和一项 Activity 。该应用程序包含始终可见的工具栏。我的工具栏上有一个图标。我需要在用户打开 2、4、5 fragment 时隐藏此图标,并在用户打开 1 和 3 fragment 时显示此图标。我不需要此逻辑的所有代码,我需要建议如何实现它以及在哪里为此行为添加一些逻辑

最佳答案

假设您使用 jetpack 的导航和单一 Activity,以下情况正确:

将目的地更改监听器添加到 Activity 内的主导航 Controller (addOnDestinationChangedListener,接口(interface)为NavController.OnDestinationChangedListener)。在监听器内部,您可以在 onDestinationChanged 实现中检查 destination.id。实际上,您可以像这样创建两个集合

private val twoFourFiveDestinations =
setOf(R.id.two, R.id.four, R.id.five)
private val oneThreeDestinations =
setOf(R.id.one, R.id.three)

只需进行这样的检查 if(twoFourFiveDestinations.contains(destination.id) ... 并相应地管理您的图标可见性,这将使生活变得更轻松。

替代解决方案是将图标管理移交给 fragment 。您可以定义一些用于与 Activity 通信的接口(interface),并在相应的 fragment 启动并运行时管理工具栏图标。但您需要在问题的每个 fragment 中都这样做。

关于android - 打开某些 fragment 时如何隐藏/显示工具栏上的图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61886648/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com