我正在使用单个viewModel来处理活动和所有片段的数据。
因此,为了初始化viewmodel
,必须在所有片段的onActivityCreated
中编写此设置代码。
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
viewModel = ViewModelProviders.of(activity!!).get(NoteViewModel::class.java)
}
我正在查看Android KTX扩展页面 (点击这里)
发现我可以像这样初始化ViewModel:
// Get a reference to the ViewModel scoped to this Fragment
val viewModel by viewModels<MyViewModel>()
// Get a reference to the ViewModel scoped to its Activity
val viewModel by activityViewModels<MyViewModel>()
所以我在我的gradle(app)中添加了以下依赖项: //ktx android
implementation 'androidx.core:core-ktx:1.0.2'
implementation 'androidx.fragment:fragment-ktx:1.0.0'
implementation "androidx.lifecycle:lifecycle-extensions:2.0.0"
但是当我尝试在我的应用程序中使用viewModels/activityViewModels
时,它们的引用未找到。
我想知道如何使用这些扩展,并带有一些基本示例。我尝试搜索示例,但没有找到。
ViewModelFactory
。 - IgorGanapolsky