假设我有DashboadFragment,它有自己的名为ViewModel
的{{1}}。我为DashboadViewModel
文件中包含的AutoCompleteTextView
创建了单独的布局。我为fragment_dashboard.xml
创建了单独的ViewModel
。因此,在这里我尝试观察在AutoCompleteTextView
中输入AutoCompleteTextViewViewModel
的数据,但是没有用。
我最近开始开发MVVM模式。
答案 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_fragment 和https://developer.android.com/guide/fragments/communicate#fragment-result了解更多信息