您的位置:首页 > 移动开发 > Android开发

关于Android侧滑栏header点击事件空指针问题

2018-01-19 20:57 113 查看
关于header点击事件空指针问题,基本上是因为没有获取到header控件。

我们如果像写当前布局中的button一样普通地使用
findViewById(R.id.user_image);


是会出问题的。其实findViewById前面默认有一个this. ,所以我们其实用的是
view.findViewById(R.id.user_image);


而我这边user_img是写在header布局中,然后header布局其实是用
app:headerLayout="@layout/nav_header"


这句话引用到主布局文件里的NavigationView中的,因此当前View下面找不到user_img是正常的。

解决办法如下:为navigationView新建立一个View。

View headerView = navigationView.getHeaderView(0);
CircleImageView imageView = (CircleImageView) headerView.findViewById(R.id.user_image);
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this, "点击成功", Toast.LENGTH_SHORT).show();
}
});


CircleImageView是我放在header里面一个将图片转成圆形头像的控件,不用在意。看你们header里面是啥,该怎么写就怎么写。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: