butterknife:6.1.0 初始化页面控件赋值时,偶现空指针异常(变量已经注解)

时间:2022-09-21 19:51:29
请问下各路大神,为什么会偶尔出现变量已经注解,但是偶尔有用户会出现空指针闪退的情况(本人未复现,是通过Fabric查看得知)。
布局就是一个TextView:
<TextView
    android:id="@+id/voice_value"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="18sp"
    android:textColor="#1f4099"
    android:textStyle="bold" />

注解:
@InjectView(R.id.voice_value)
TextView voiceValue;

在onCreateView中也调用ButterKnife.inject():
ButterKnife.inject(this, rootView);

闪退的代码(初始化页面时会调用接口,接口调用成功后会对TextView进行赋值,此处报空指针):
voiceValue.setText(balanceTypeData.get("used"));



难道是接口调用太快,赋值在变量注解之前?求助一下大家。。。 butterknife:6.1.0 初始化页面控件赋值时,偶现空指针异常(变量已经注解)

2 个解决方案

#1


可以延时一点再调用接口,
或者会不会是 balanceTypeData 为null?

#2


引用 1 楼 qq_34364155 的回复:
可以延时一点再调用接口,
或者会不会是 balanceTypeData 为null?


因为是偶现,感觉不好所有页面都延时吧,Fabric的报错就是不能对空对象使用setText()方法,所以不是balanceTypeData 为null的 butterknife:6.1.0 初始化页面控件赋值时,偶现空指针异常(变量已经注解)

#1


可以延时一点再调用接口,
或者会不会是 balanceTypeData 为null?

#2


引用 1 楼 qq_34364155 的回复:
可以延时一点再调用接口,
或者会不会是 balanceTypeData 为null?


因为是偶现,感觉不好所有页面都延时吧,Fabric的报错就是不能对空对象使用setText()方法,所以不是balanceTypeData 为null的 butterknife:6.1.0 初始化页面控件赋值时,偶现空指针异常(变量已经注解)