DylanCaiCoding / ViewBindingKTX

The most comprehensive utils of ViewBinding. (最全面的 ViewBinding 工具,支持 Kotlin 和 Java 用法,支持 BRVAH,支持封装到基类,支持 DataBinding,支持选择是否使用反射)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

fragment的nullPointException错误

mikaelzero opened this issue · comments

WX20210630-100908@2x

这是代码中使用

//这是一个异步
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)

应该是异步回调时 Fragment 被销毁了,可以在 onDestoryView 解除订阅。或者回调时判断下 binding 的状态,在 BaseFragment 增加以下方法:

val isBindingAvaiable get() = _binding != null

回调时判断下 binding 是不是可用

if (isBindingAvaiable) {
  binding.freeWeekIv.setImageBitmap(it)
  binding.blurLayout.setBlurredView(binding.freeWeekIv)
}