来自 koin 的 SharedViewModel 无法与 MapFragment 一起使用

SharedViewModel from koin not working with MapFragment

未识别 sharedViewModel:

class MyMapFragment: MapFragment(), OnMapReadyCallback, GoogleMap.OnMapLoadedCallback {

    private val viewModel: MyViewModel by sharedViewModel()

    private var map: GoogleMap? = null

    override fun onMapReady(googleMap: GoogleMap?) {
        map = googleMap
        map?.setOnMapLoadedCallback(this)
    }

    override fun onMapLoaded() {
    }
}

这是一个已知问题吗?我找不到任何东西。顺便说一句,它适用于 "regular" 片段。

在 koin 中有 2 个扩展文件 FragmentExt androidx.fragment.app.Fragmentandroid.support.v4.app.Fragment 提供扩展功能 sharedViewModel()MapFragment extends android.app.Fragment 因此扩展功能在那里不可用。

您可以使用 SupportMapFragment 来扩展 android.support.v4.app.Fragment 并包含您想要的扩展功能,而不是 MapFragment