How to programmatically add a submenu item to the new material design android support library

前端 未结 5 1572
时光说笑
时光说笑 2020-11-28 23:26

I am trying to add new menu items to a submenu in the new Material Design drawer panel.



        
5条回答
  •  失恋的感觉
    2020-11-29 00:12

    Use this method to add menu and submenu

    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);
            }
    
            // 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);
            }
    
            // 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();
                }
            }
        }
    

    and call this method where you setup Drawer Content.

提交回复
热议问题