【问题标题】:Android studio NavigationDrawer sub items that change on runtime在运行时更改的 Android Studio NavigationDrawer 子项
【发布时间】:2021-01-07 03:27:53
【问题描述】:

我真的需要你的帮助来编辑我的导航抽屉。我想向其中添加子项目,如下所示:

或在这里:

我曾尝试在谷歌上搜索类似的问题,但没有找到答案。对我来说,似乎可能的解决方案可能是在第三个项目之后添加一组项目并使该组不可见,但是当用户单击“父级”时,它将变得可见。但是我不确定如何在菜单中的特定索引之后插入一组项目,这可能不是最好的解决方案。 因此,我要求有经验的开发人员帮助我找到最佳解决方案。

【问题讨论】:

    标签: android submenu android-menu navigation-drawer


    【解决方案1】:

    您现在可能已经找到了解决方案,但是让我以任何方式解决这个问题。我无法快速解决此问题,我已经有一段时间没有编写 Android 代码了,但我可以为您指明正确的方向。

    您想要做的是为菜单创建一个自定义 xml 布局。然后,您可以将 Friends 项目替换为可扩展的 ListView。然后,您需要一个适配器来获取朋友列表(可能在 ArrayList 中)并填充可扩展的 ListView。如果您曾经使用适配器填充 ListView,您将能够弄清楚这一点。 这是cool tutorial,您可以适应以完成工作。

    我知道这有点工作,我希望我知道一种更简单的方法来做到这一点,但我不知道。一切顺利。干杯!

    【讨论】:

    • 你说得对,我不再需要这个(决定以另一种方式实现)但感谢您的努力和建议,我很感激。
    【解决方案2】:

    对于您的第一种方法,您可以稍作修改。该 SubItem 也是一个项目,而不是将所有内容放在组中,您应该将其放入项目中。试试下面这个例子:

        <item
            android:id="@+id/nav_category_electronics"
            android:icon="@drawable/ic_email_black_24dp"
            android:title="Electronics">
    
            <menu>
                <item
                    android:id="@+id/nav_subcategory_laptops"
                    android:icon="@drawable/laptop"
                    android:title="Laptops" />
    
                <item
                    android:id="@+id/nav_subcategory_tablet"
                    android:icon="@drawable/tablet3"
                    android:title="Tablets" />
    
                <item
                    android:id="@+id/nav_category_phones"
                    android:icon="@drawable/smartphone"
                    android:title="Mobile Phones" />
    
                <item
                    android:id="@+id/nav_subcategory_gadgets"
                    android:icon="@drawable/ic_developer_mode_black_18dp"
                    android:title="Gadgets" />
            </menu>
        </item>
    

    【讨论】:

    • 抱歉,您的建议没有帮助。首先,它不会向菜单项添加子项。其次,我无法确定子菜单中需要多少项,需要在运行时完成(解析 XML 完成后)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多