1
  • 最佳答案

    你这个想法此对吧。数据跟获取是独立的。你获取,然数据进LiveData里,LiveData根据注册过来的进行通知。你不有通知到是不是生命周期不在活跃的时候,有另外一个监听方式忽略掉生命周期的。

    1153952789488054272  评论     打赏       拉大锯
    • Cstri  回复 @拉大锯
      布局是这样的, 一个主fragment里面有一个搜索栏, 搜索栏下面是Viewpager,每一个viewpager页都是一个fragment,翻页的时候就会获取数据(数据不能保存到本地),而我的搜索栏搜索的时候需要搜索到这些数据,我不知道如何去同步数据, 你说的是observeForever吗? 我尝试用了 ,发现LiveData里面的数据更新了,它也没有监听到
      Cstri 2022-09-22 17:39   回复 1342082010843308032
    • Cstri  回复 @Cstri
      监听语句是这样的 viewModel.refresh.observeForever { Log.d("TAG", "initData:observeForever $it") }
      Cstri 2022-09-22 17:39   回复 1342082010843308032
    • 拉大锯  回复 @Cstri
      你这个监听就与生命周期无关了, 嗯嗯。
      拉大锯 2022-09-22 18:54   回复 1153952789488054272
    • Cstri  回复 @拉大锯
      我知道是啥原因了,是因为我使用viewmodel的时使用的上下文不一样,导致观察不到数据,我都改成activity了,这样就可以观察到了,我的错,我没有好好了解viewmodel,就照猫画虎 val liveDataProgress = ViewModelProvider(activity!!)[ShareDataViewModel::class.java]
      Cstri 2022-09-23 09:36   回复 1342082010843308032
    • 断点  回复 @Cstri
      下次提问的时候,把使用场景也补上吧,经常看到回答区一直在补场景的,提问得专业点
      断点 2022-09-23 09:56   回复 1139423796017500160
    • 波鲁萨利诺.黄猿  回复 @断点
      哈哈,虚空答题[菜狗]
      波鲁萨利诺.黄猿 2022-09-23 12:32   回复 1302969105866940416
    • Cstri  回复 @断点
      扎心啦,老铁
      Cstri 2022-09-23 15:01   回复 1342082010843308032
    • 断点  回复 @波鲁萨利诺.黄猿
      我是[菜狗]
      断点 2022-09-23 15:07   回复 1139423796017500160
    • 断点  回复 @Cstri
      我发现评论区才是问题的重点,提问区没有有用的信息,哈哈哈
      断点 2022-09-23 15:07   回复 1139423796017500160
    • 拉大锯  回复 @Cstri
      这个,你自己要知道呀。viewModel是要被存储起来的,有一个storage,要同一个拿到的才是相同的。这个你自己攒经验吧,但是呢,这个问题,可以通过阅读源码来解决,而且这个在课程里有讲过的。
      拉大锯 2022-09-23 15:34   回复 1153952789488054272
相关问题
_empty · Android
2019-10-20 23:51 628 2
application · Android
2019-11-05 00:26 779 2
三流废物 · android / 小白
2019-11-22 00:35 1067 5
豪豪好嘛 · Android / GPS
2019-11-26 20:15 884 5
Jian · android
2019-11-28 01:51 615 2
2019-12-01 01:01 705 2
小陈学编程 · Android
2019-12-01 19:08 633 2
fkinggod · Android
2019-12-08 09:19 661 5
fkinggod · Android
2019-12-08 20:47 610 2
kissmyass · Android
2019-12-09 07:08 537 2
独一无二的名zi · Android
2019-12-30 06:48 415 2