【发布时间】:2020-10-16 08:11:53
【问题描述】:
我有一个应用程序,在nav_graph 中有一个活动和大约 29 个 Fragment,其中两个 Fragment 用于身份验证,我需要使用 shared view model 在这两个 Fragment 之间共享数据,而不是与其他 Fragment .
所以,我创建了我的 ViewModel 并使用 viewModels() 将其实例化在两个片段中,它是 fragment-ktx 库的一部分。
private val viewModel: AuthViewModel by viewModels()
但是,一旦我使用findNavController().navigate() 导航到第二个片段,我就会丢失AuthViewModel 中的所有数据
AuthViewModel.kt
class AuthViewModel @ViewModelInject constructor(
private val authRepository: AuthRepository
) : BaseViewModel()
这里还有什么我遗漏的步骤吗?
编辑
我正在通过onViewCreated 方法访问数据
【问题讨论】:
标签: android android-studio android-viewmodel android-architecture-navigation android-navigation