【发布时间】:2023-02-16 18:02:53
【问题描述】:
这是我的视图模型
class ViewModel(private val savedStateHandle: SavedStateHandle, private val dataSource: DataSource) :ViewModel()
这是我的 viewModelProvider 工厂
class ViewModelProviderFactory(
private val savedStateHandle: SavedStateHandle,
private val dataSource: DataSource
) : ViewModelProvider.Factory {
override fun <T : ViewModel> create(modelClass: Class<T>): T {
return ViewModel(savedStateHandle, dataSource) as T
}
}
在主活动中
class MainActivity : AppCompatActivity() {
private lateinit var binding: ActivityMainBinding
private val viewModel: ViewModel by viewModels()
...
我不知道如何将 savedStateHandle 传递给工厂,以便我可以创建一个 viewModel。
【问题讨论】:
-
太感谢了。你摇滚。但请更正
override val model by viewModels<MyViewModel> ...行。直接删除override