导航抽屉中的项目位置

时间:2016-08-10 15:53:59

标签: android xml menu android-navigation-drawer

我使用模板导航抽屉。我可以从res添加项目,但是当我从我的数据库中添加项目时,我的项目会添加到结束导航抽屉。

我的活动中的这段代码:

        Menu menu = navigationView.getMenu();

    while (storesCursor.moveToNext()){
        menu.add(R.id.nav_group_stores, Menu.NONE, Menu.NONE, storesCursor.getString(storesCursor.getColumnIndex(DatabaseHelper.COLUMN_AUTHORIZATION_DOMAIN)));
    }
    storesCursor.close();

这个代码在我的menu.xml中:

<item android:title="@string/nav_title_stores">
    <menu>
        <group
            android:id="@+id/nav_group_stores">
        </group>
        <item
            android:id="@+id/add_store"
            android:title="Add new store">

        </item>
    </menu>
</item>

我的问题:项目在导航抽屉中添加到最后。

我想要什么? 我希望在&#34; nav_title_stores&#34;之间添加我的项目。和&#34; add_store&#34;。

我该怎么办?感谢。

1 个答案:

答案 0 :(得分:1)

  1. 删除add_store个菜单项。
  2. 从DB添加新菜单项。
  3. 添加add_store菜单项
  4. 像这样:

    Menu menu = navigationView.getMenu();
    
    SubMenu titlesMenu = menu.getItem(0).getSubMenu();
    titlesMenu.removeItem(R.id.add_store);
    
    while (storesCursor.moveToNext()){
        menu.add(R.id.nav_group_stores, Menu.NONE, Menu.NONE, storesCursor.getString(storesCursor.getColumnIndex(DatabaseHelper.COLUMN_AUTHORIZATION_DOMAIN)));
    }
    storesCursor.close();
    
    titlesMenu.add(Menu.NONE, R.id.add_store, Menu.NONE, "Add new store");