這兩天寫APP《儒釋道網絡電台》APP時,要用到兩邊側滑抽屜菜單。最終選擇了官方模闆的解決方案,使用了 DrawerLayout 加上兩上 NavigationView。
但還需要動态生成側滑抽屜菜單的内容,也就是修改NavigationView,而直接用下面的代碼傳回NULL
ListView lv = (ListView) findViewById(R.id.lv_programs);
經過在網上不斷尋,最終找到找解決方法。需要在NavigationView中擷取headerView,然後再從headerView中查找ListView。代碼如下:
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
View headerView = navigationView.getHeaderView(0);
ListView lv = (ListView) headerView.findViewById(R.id.lv_programs);
上面是動态生成或修改navigationView.getMenu() ,如果想要修改菜單,可使用
navigationView.getMenu()
擷取菜單後,動态修改菜單内容。