Android 在运行时更改的工作室 NavigationDrawer 子项

Android studio NavigationDrawer sub items that change on runtime

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

或此处:

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

对于第一种方法,您可以进行一些修改。该 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>

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

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

我知道这有点麻烦,我希望我知道更简单的方法,但我不知道。祝一切顺利。干杯!