我正在为 Activity 及其所有片段使用 Single viewModel。
所以要初始化 viewmodel
如果必须在所有片段的 onActivityCreated
中编写此设置代码
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
viewModel = ViewModelProviders.of(activity!!).get(NoteViewModel::class.java)
}
我正在浏览 Android KTX 扩展页面:( 请参阅此处)
我发现我可以像这样初始化视图模型:
// 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
时,他们的参考文献没有找到。
我想要帮助如何使用这些扩展程序和一些我尝试搜索示例但没有找到的基本示例。
原文由 Anmol 发布,翻译遵循 CC BY-SA 4.0 许可协议
Atlast 我们有稳定的版本。
移至
implementation 'androidx.fragment:fragment-ktx:1.1.0'
我遇到了另一个问题。###编译器错误:
###build.gradle(模块:应用程序)
参考
应用上述所有问题后,问题得到解决。