问题
在使用findViewById获取的组件为空,在注册点击事件报错空指针异常
原因
在当前Activity或fragment绑定的xml不是获取组件的root view,比如在一个fragment中有很多include,直接在fragment中获取include布局中组件则会报错空指针异常。
解决
- 当在xml中引用include标签时,如果要通过findViewById去获取include标签里面的控件,那就必须先获得include里面的根布局root,再通过root.findViewById()去获取控件。
- 查看findViewById()中引用的id是否是setContentView()中引入的xml。findViewById()一定是在setContentView()后才执行的,如果顺序弄错了也会报空指针错误。
- 选择project ->clean.去重新生出R文件。