2016-08-10 2 views
0

私はテンプレートのナビゲーション引き出しを使用しています。私はresからアイテムを追加できますが、私のDBからアイテムを追加すると、アイテムはナビゲーション・ドロワーの最後に追加されます。ナビゲーション引き出し内のアイテムの位置

私の活動のこのコード:

 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> 

私の問題:アイテムに末尾に追加ナビゲーション・ドロワー。

私は何をしたいですか? 「nav_title_stores」と「add_store」の中間にアイテムを追加します。

どうすればいいですか?ありがとう。

+1

をそれがインデックスにメソッドを追加していませんか?だから、それは真ん中に挿入することができます。 –

+0

最後に項目が追加されていることを直接指摘していますが。私は理解できません、私が間違っていること –

答えて

1
  1. add_storeメニュー項目を削除します。
  2. DBから新しいメニュー項目を追加します。
  3. このようなadd_storeメニュー項目

追加:

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"); 
+0

あなたの助言の中で1行を変更しました。ほぼ正しい決定です。 titlesMenu.add() しかし、あなたは私を助けました。 –

関連する問題