获取NavigationView中headerView中控件的id,getHeaderView与addHeaderView

引言:
今天要是实现一个在MainActivity里面获取NavigationView的控件,我先直接使用findViewById,结果空指针异常了。然后我就在想,是不是因为NavigationView的特性,直接引用了定义好的headerLayout,所以其实headerLayout中的控件并不能直接在activity_main中查找。

正确做法:

mIdtext=navigationView.getHeaderView(0).findViewById(R.id.activity_nav_header_text_user);

getHeaderView接收一个int型index参数,表示第几个headerLayout,以第0项为首。

addHeaderView:
可以再添加一个header到Navigation中。

navigationView.addHeaderView(LayoutInflater.from(this).inflate(R.layout.activity_nav_header,null));
发布了51 篇原创文章 · 获赞 68 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/tran_sient/article/details/104155946