0
点赞
收藏
分享

微信扫一扫

Android - NavigationView 获取 head_view问题


NavigationView是Google推出的MD风格支持库里的主要控件之一,一般与DrawerLayout结合使用提供侧滑菜单。

NavigationView的header布局中常用来放置用户头像、用户名等信息,所以我们必须获取到header布局中的view。

最近在使用NavigationView的时候遇到无法通过findviewbyid方法获取header布局的问题(返回值是null),经过一番周折终于解决,在这里将解决过程记录下来。

其实,NavigationView是一个RecyclerView(在23.1.0版本之前是ListView),header布局通常是0号元素。在Support Library v23.1.1版本中,可以使用如下方法很方便地获取到header中的view:

View headerLayout = navigationView.getHeaderView(0); // 0-index header

而在23.1.0版本中,就需要通过这种方法:

View headerLayout =  
navigationView.inflateHeaderView(R.layout.navigation_header);
panel = headerLayout.findViewById(R.id.viewId);
// panel won't be null


举报

相关推荐

0 条评论