Android在 fragment 和对话框 fragment 之间共享ViewModel?

标签 android android-fragments mvvm android-dialogfragment android-viewmodel

如何在对话框和对话框 fragment 之间共享相同的 View 模型?我知道 viewModel 可以在 Activity 范围内共享。但这对我来说范围太大了。

 private val model: SharedViewModel by activityViewModels()
不幸的是,我没有项目导航组件。

最佳答案

  • 使用childFragmentManager显示 DialogFragment
  • 声明共享 ViewModel里面 Fragment经过
  • private val sharedViewModel: YourViewModel by viewModels()
    
  • 内部 DialogFragment声明 ViewModel通过
  • private val sharedViewModel: YourViewModel by viewModels(ownerProducer = { requireParentFragment() })
    

    关于Android在 fragment 和对话框 fragment 之间共享ViewModel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63225618/

    相关文章:

    android - 以编程方式创建 Admob 原生广告

    java - 使用它的缓存键取消来自管理器的请求不起作用

    android - 当我单击表单上的提交按钮时,我需要做什么才能使 Android 软键盘消失并清除 EditText 字段?

    android - Toast 类型中的方法 makeText 不适用于参数

    android - Android上线程中的堆栈溢出异常

    android - 在 `AppCompatActivity` 和 `Fragments` 中向上导航

    android - Android 中哪一种更好的设计方法 - 多个 Activity/Fragments

    c# - 在绑定(bind)到 ListView 之前修改 ViewModel 的属性

    c# - 使用 MVVM 单击 DataGrid 单个单元格行和列

    c# - ToViewModel类型函数(MVVM)的泛型解决方案