【问题标题】:viewModelScope is cancelled in viewPagerviewModelScope 在 vi​​ewPager 中被取消
【发布时间】:2021-05-20 07:06:35
【问题描述】:

viewPager中有fragment,每个fragment都有一个viewModel。

当viewpager的当前item改变时,fragment被销毁,viewModel onCleared被调用,viewModelScope被取消

有2个问题,首先返回到同一个片段后,viewModelScope被取消并且无法启动任何协程。第二个当viewPager的当前item发生变化时,启动的协程被取消。

我该如何解决这个问题?

我将 FragmentStatePagerAdapter 与 BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT 一起使用,OffscreenPageLimit 是默认值。

【问题讨论】:

    标签: android mvvm android-viewpager viewmodel kotlin-coroutines


    【解决方案1】:

    你可以使用Shared ViewModel,或者使用GlobeScope.launch{}

    【讨论】:

    • 这实际上是我解决它的一种方式,虽然我更喜欢更好的解决方案。
    猜你喜欢
    • 2012-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-05
    • 2016-02-11
    • 2022-10-24
    相关资源
    最近更新 更多