作为一个新人,今天在试图往一个自定义view中传值时始终不成功,百思不得其解。
报错如上java.lang.NullPointerException
一般来说报这个错是因为声明了变量没有初始化之类的。因此也是为此反复检查,无果。
加断点调试,反正锁定了问题,调用的view内的值就崩溃,打印此自定义view则显示null。
那么应该比较明确了,是因为没有绑定上。在findviewbyid后面加打印。则显示在初始化创建时就是null。
网上查了一圈,大概是没人和我一样蠢,没查着怎么解决。
最后,划重点,在那个自定义view的构造函数中,
public ShopAndNpc(Context context,AttributeSet attrs) {
super(context);
//...
}
大概。。就是这样,因为构造函数的一部分在super重写的时候参数都没有加进去,那自然在构造时初始化不会成功。
知道原因后简直羞愧难当,写下来,长长记性。