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() {
}
}
这是一个已知问题吗?我什么都找不到。顺便说一下,它可以处理“常规”片段。
答案 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