我想知道调用 fragment 的onDetach时是否调用了viewmodel的oncleared。这是为了确保所有协程都将被取消。在重构为 kotlin 和协程之前,我得到了一个 IllegalStateException: Fragment not attached to a context。现在我正在使用 viemodelscope 来完成这些任务。
最佳答案
如果必须对任何异步或 API 调用的结果执行任何 Context
或 UI 相关逻辑,即使调用 onDetach
也会导致此问题。您应该进行安全调用(例如空检查)以消除该异常。
关于安卓 : Does viewmodelscope cancel all jobs on detach from window of fragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57057131/