如何在Android中的单个片段中使用多个视图模型?

时间:2019-12-05 12:10:57

标签: android-fragments viewmodel autocompletetextview android-mvvm mutablelivedata

假设我有DashboadFragment,它有自己的名为ViewModel的{​​{1}}。我为DashboadViewModel文件中包含的AutoCompleteTextView创建了单独的布局。我为fragment_dashboard.xml创建了单独的ViewModel。因此,在这里我尝试观察在AutoCompleteTextView中输入AutoCompleteTextViewViewModel的数据,但是没有用。

我最近开始开发MVVM模式。

1 个答案:

答案 0 :(得分:0)

您可以使用委托 viewModels 在 Fragment 之间传递数据

private val viewModel: ListViewModel by viewModels({requireParentFragment()})

这确实意味着您的仪表板片段中将有一个 AutoCompleteTextViewViewModel。

另一种解决方案是使用 setFragmentResult()API

https://developer.android.com/guide/fragments/communicate#share_data_between_a_parent_and_child_fragmenthttps://developer.android.com/guide/fragments/communicate#fragment-result了解更多信息