在开发的时候经常被findViewById返回null值而烦恼。所以准备把遇到的情况记录下来方便自己查询啊!
一、当在xml中引用include标签时,如果要通过findViewById去获取include标签里面的控件,那就必须先获得include里面的根布局root,再通过root.findViewById()去获取控件。如果直接findViewById则会报空。
二、查看findViewById()中引用的id是否是setContentView()。中引入的xml。如果不是则会报错。
三、如果前面情况都不是的话,那就选择project ->clean.去重新生出R文件。
四、如果前面还是不能解决问题的话,那建议将那个控件控件删除,自己动手写一遍(碰到这种情况真的无语了)。
我自己再补充一点,findViewById()一定是在setContentView()后才执行的,如果顺序弄错了也会报空指针错误。
都没有给定xml,它当然没地方找啦