fragment的nullPointException错误
mikaelzero opened this issue · 1 comments
mikaelzero commented
这是代码中使用
//这是一个异步
Pan.loadBitmap(requireContext(), homeIndexBean!!.weekGift.imgUrl) {
binding.freeWeekIv.setImageBitmap(it)//这行报错
binding.blurLayout.setBlurredView(binding.freeWeekIv)
}
下面是BaseFragment中的使用方法
private var _binding: VB? = null
val binding: VB get() = _binding!!
_binding = inflateBindingWithGeneric(layoutInflater)
DylanCaiCoding commented
应该是异步回调时 Fragment 被销毁了,可以在 onDestoryView 解除订阅。或者回调时判断下 binding 的状态,在 BaseFragment 增加以下方法:
val isBindingAvaiable get() = _binding != null
回调时判断下 binding 是不是可用
if (isBindingAvaiable) {
binding.freeWeekIv.setImageBitmap(it)
binding.blurLayout.setBlurredView(binding.freeWeekIv)
}