2016-08-21 53 views
0

我想添加一個項目從數組導航到繪圖子菜單。但我不能。我在這裏的代碼ISE導航繪製子菜單數組錯誤

> private void addItemsRunTime(NavigationView navigationView) { 

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

    //stringArray[0]="Selam"; 
    //stringArray[1]="Merhaba"; 
    //stringArray[2]="Merhaba"; 
    //stringArray[3]="Merhaba"; 

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

    // refreshing navigation drawer adapter 
    for (int i = 0, count = mNavigationView.getChildCount(); i < count; i++) { 
     final View child = mNavigationView.getChildAt(i); 
     if (child != null && child instanceof ListView) { 
      final ListView menuView = (ListView) child; 
      final HeaderViewListAdapter adapter = (HeaderViewListAdapter) menuView.getAdapter(); 
      final BaseAdapter wrapped = (BaseAdapter) adapter.getWrappedAdapter(); 
      wrapped.notifyDataSetChanged(); 
     } 
    } 
} 

當我改變我的代碼是這樣 「的for(int i = 0;我< = myArray.length;我++)」 它給了我和我的error.and應用程序被關閉。消息在這裏。

enter image description here

數組是工作的其他功能。但在這現在工作。

感謝您的幫助。

回答

0

它會拋出您的myarray.length異常嘗試將其保存在變量中,然後使用該變量。

+0

你能寫一個示例代碼嗎?它將如何? –

+0

int index = myArray.length; for(int i = 0; i <= index-1; i ++) –

0

你做錯了事情,你必須循環從0到n-1的值,然後你的錯誤將被解決,因爲數組的最後一個元素總是在第(n-1)個位置,所以只需改變,如

for (int i = 0; i <= myArray.length-1; i++) 
+0

我試過了。但同樣的問題仍然繼續.. –

+0

爲導航抽屜項目我建議使用這些https://github.com/mikepenz/MaterialDrawer –