2016-12-03 89 views
-2

我創建Drawer.But我想設置抽屜Itemlist是動態的.Means從數據庫中獲取數據並設置爲drawerList。可能嗎?是的比如何?我也知道靜態抽屜。在導航抽屜中添加項目動態

+0

你要加載導航抽屜itmes動態嗎? –

+0

是的。全部來自數據庫。 –

+0

可能的重複:http://stackoverflow.com/questions/31722566/dynamic-adding-item-to-navigationview-in-android –

回答

3

試試這個:

final Menu menu = navigationView.getMenu(); 
for (int i = 1; i <= 10; i++) { 
    menu.add("Runtime item "+ i); 
} 
+0

謝謝...但我不想要這樣。我想爲它設置數據庫數據。 –

+1

是的,你可以使用這個。如果您使用的是asyncTask,則必須將此代碼放在onpostExecute()上。 –

+0

你可以給我發幾個代碼嗎? –

0

您的搜索範圍縮小到抽屜式導航與列表視圖。如果你有listview,你可以用適配器來操作數據。

查看這個例子。 https://youtu.be/rs4LW3GxOgE

0

是有可能,這將是您的主要佈局:

<?xml version="1.0" encoding="utf-8"?> 
    <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:id="@+id/login_drawer" 
     > 

     <LinearLayout 
      android:id="@+id/linearlayout" 
      android:orientation="vertical" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent"> 
//create you toolbar and include in here 
     <include 
      layout="@layout/tool_bar" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"></include> 

     <FrameLayout 
      android:id="@+id/fragment_container" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent"></FrameLayout> 

     </LinearLayout> 

     <include layout="@layout/drawerlayout" /> 
    </android.support.v4.widget.DrawerLayout> 

,你抽屜佈局將是這樣的:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/drawer_linear" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    </LinearLayout> 

現在你可以創建另一個佈局,這將是該項目的抽屜菜單,即如果其唯一的文本,然後使用textview佈局,否則,如果它是圖像和文本,然後作出相應的佈局

然後只是添加此視圖(子XML)動態地使用layoutinflater和LinearLayout中添加視圖,如:

linearlayout.addView(childview); 
0

感謝@Dev

動態地添加的項目,我們可以得到使用使用getMenu()方法菜單對象NavigationView然後我們可以使用那個Menu對象將項目添加到導航抽屜中。

這樣的:

final Menu menu = navigationView.getMenu(); 
for (int i = 1; i <= 3; i++) { 
    menu.add("Runtime item "+ i); 
} 

使用子,我們可以添加一個分部和物品進入它。

// adding a section and items into it 
final SubMenu subMenu = menu.addSubMenu("SubMenu Title"); 
for (int i = 1; i <= 2; i++) { 
    subMenu.add("SubMenu Item " + i); 
} 

//