NavigationView中headerLayout部分重复显示解决方法

最近一直跟着《第一行代码》这本书学习Android开发,书中第12.3节讲解了滑动菜单的用法。本人感觉这个特别的神奇,特别是里面使用NavigationView能够使android程序界面感觉上一个层次。课本里面对NavigationView的使用示例中是在布局文件里面直接对NavigationView中的控件赋值的,现在我想实现动态的赋值,也就是把其它活动传过来的值显示在NavigationView中。我这里做了一个登录界面,登录后把用户名显示在NavigationView的headerLayout中,使用了如下代码获取headerLayout中的TextView并对其进行赋值:

NavigationView中headerLayout部分重复显示解决方法_第1张图片

运行程序,结果发现headerLayout部分的图像竟然重复了,效果如下:

NavigationView中headerLayout部分重复显示解决方法_第2张图片

这里用户名虽然显示出来了,但是上面的ImageView部分去重复出现了。重新运行了好几遍程序也还是这个结果,后来通过网上查找发现使用如下的方式获取TextView控件然后赋值能够解决这个问题:

NavigationView中headerLayout部分重复显示解决方法_第3张图片

改成上面的代码后,程序运行成功。运行效果如图:

NavigationView中headerLayout部分重复显示解决方法_第4张图片

你可能感兴趣的:(Android开发)