我在片段中有一个 LiveData 观察者,有时里面的代码Observer{}
会抛出错误
Exception: java.lang.IllegalStateException: Fragment not attached to an activity.
at androidx.fragment.app.Fragment.requireActivity(Fragment.java:833)
它正在发生,因为requireActivity()
正在返回null
所以异常
myViewModel.saveData(data).observe(requireActivity(), Observer {
it?.let { response->
when(response.status){
Status.SUCCESS -> {
Toast.makeText(requireActivity(),"SUCCESS",Toast.LENGTH_LONG).show()
}
Status.ERROR -> {
Toast.makeText(requireActivity(),"ERROR",Toast.LENGTH_LONG).show()
}
Status.LOADING -> {
}
}
}
})
我确认没有我的片段与活动分离的情况。我怀疑可能会发生崩溃,因为我没有将生命周期所有者引用传递给观察者?