V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jeesk
V2EX  ›  Android

关于 viewModel 使用的一些疑问

  •  
  •   jeesk · 2022-07-17 09:32:21 +08:00 · 4781 次点击
    这是一个创建于 642 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在我正在开发一款相册, 因为底部有 3 个导航按钮, 所以 activity 里面其实是 3 个 fragment 在切换展示视图, 这个时候我看到有些例子可以使用 viewModel 来管理界面视图, 这个时候因为我的相册是在 fragment 里面, 那 viewModel 我是该使用 mainActivity 的 viewModel, 还是 fragment 里面的 viewModel 呢? android 小白一个, 请赐教。

    6 条回复    2022-07-25 09:47:13 +08:00
    passon
        1
    passon  
       2022-07-17 10:24:12 +08:00
    相册在 fragment 里面,就用 fragment 的 viewmodel
    xingda920813
        2
    xingda920813  
       2022-07-17 10:33:56 +08:00
    如果需要在 3 个 Fragment 之间或者 Activity 的层级共享数据,则需要使用 Activity 作为 ViewStoreOwner 。否则可以使用 Fragment 。
    jeesk
        3
    jeesk  
    OP
       2022-07-17 14:26:36 +08:00
    @passon
    @xingda920813 ok 谢谢。
    kldd529
        4
    kldd529  
       2022-07-19 18:04:06 +08:00
    印象有个这玩意 androidx.fragment.app.activityViewModels
    太久没用忘了用来干啥
    jeesk
        5
    jeesk  
    OP
       2022-07-23 11:53:13 +08:00
    @kldd529 view 和 model 的中间层枢纽
    zhanlanhuizhang
        6
    zhanlanhuizhang  
       2022-07-25 09:47:13 +08:00
    androidx.fragment.app.activityViewModels ,就是这样的。private val mobilePay by activityViewModels<MobilePayViewModel>()。这个对象的生命周期是跟 activity 保持一致。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1085 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 18:37 · PVG 02:37 · LAX 11:37 · JFK 14:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.