Koin的SharedViewModel无法与MapFragment一起使用

时间:2019-10-26 17:02:10

标签: android koin

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() {
    }
}

这是一个已知问题吗?我什么都找不到。顺便说一下,它可以处理“常规”片段。

1 个答案:

答案 0 :(得分:1)

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

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