Android自带抽屉布局中NavigationView的动态生成

这两天写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()
获取菜单后,动态修改菜单内容。


你可能感兴趣的:(Android)