如何在片段中使用共享 ViewModel
How to use Shared ViewModel in fragment
我想在多个片段之间共享一个 ViewModel
我们在刀柄之前尝试了一下,效果很好
但是在创建了两次 hilt ViewModel 之后
我的问题是如何每次使用刀柄获得相同的 ViewModel
@HiltViewModel
对于共享 VM,您在片段中使用 viewModel by activityViewModels<MyViewModel>()
。永远不要创建一个 Singleton ViewModel
这种破坏 ViewModel
.
的目的
此扩展来自片段 ktx 库。您可以使用以下依赖项添加它。
def activity_version = "1.2.0"
def fragment_version = "1.3.0"
implementation "androidx.activity:activity-ktx:$activity_version"
implementation "androidx.fragment:fragment-ktx:$fragment_version"
当您注入它时,您可以将其用作:
@AndroidEntryPoint
class MyFragment : Fragment(){
private val viewModel by activityViewModels<MyViewModel>()
}
我想在多个片段之间共享一个 ViewModel 我们在刀柄之前尝试了一下,效果很好 但是在创建了两次 hilt ViewModel 之后
我的问题是如何每次使用刀柄获得相同的 ViewModel
@HiltViewModel
对于共享 VM,您在片段中使用 viewModel by activityViewModels<MyViewModel>()
。永远不要创建一个 Singleton ViewModel
这种破坏 ViewModel
.
此扩展来自片段 ktx 库。您可以使用以下依赖项添加它。
def activity_version = "1.2.0"
def fragment_version = "1.3.0"
implementation "androidx.activity:activity-ktx:$activity_version"
implementation "androidx.fragment:fragment-ktx:$fragment_version"
当您注入它时,您可以将其用作:
@AndroidEntryPoint
class MyFragment : Fragment(){
private val viewModel by activityViewModels<MyViewModel>()
}