0
  • 最佳答案
    最后解决是通过用Handler配合线程实现的倒计时, 然后在每次Rv翻页的时候通过模拟点击 来把线程remove掉 (因为如果在onPageSelected里去remove的话  那handler会失效   并且也不能在这 去改变布尔值) 所以要通过模拟点击去点击事件里面关闭倒计时和改变布尔值
    
    1346006481350291456  评论     打赏       Aka安卓菜鸟





    • 1346006481350291456  评论     打赏       Aka安卓菜鸟
      • 你是把倒计时的代码写到适配器里面了嘛?

        1204736502274318336  评论     打赏       A lonely cat
        • Aka安卓菜鸟  回复 @A lonely cat
          是的 倒计时代码写在在适配器里 推测是Rv的缓存和holder复用问题 但是没有找到好的解决办法
          Aka安卓菜鸟 2021-01-04 17:21   回复 1346006481350291456
        • A lonely cat  回复 @Aka安卓菜鸟
          定义一个 flag 撒,判断是否已经调用过了 如果调用过了就不用重新倒计时了吖
          A lonely cat 2021-01-04 17:29   回复 1204736502274318336
        • Aka安卓菜鸟  回复 @A lonely cat
          对 有尝试过这个解决方法 但是因为Rv缓存的原因 假设我要在第二页调用 但是当我滑动到第一页的时候 我第二页的已经进入预加载了 我的flag值在第一页的时候就变了
          Aka安卓菜鸟 2021-01-04 17:40   回复 1346006481350291456
        • A lonely cat  回复 @Aka安卓菜鸟
          好像是有这个问题 要不你用ViewPager2+Fragment吧 这样可以实现懒加载 而且生命周期可控
          A lonely cat 2021-01-04 22:51   回复 1204736502274318336
        • A lonely cat  回复 @Aka安卓菜鸟
          还有就是 ViewPager2是基于RecyclerView实现的 所以你不用担心不够高效
          A lonely cat 2021-01-04 22:54   回复 1204736502274318336
        • Aka安卓菜鸟  回复 @A lonely cat
          好的,我待会试试
          Aka安卓菜鸟 2021-01-05 09:13   回复 1346006481350291456
      相关问题
      幻影~ · 安卓
      2024-04-26 19:25 10 4
      deanhu · AOSP
      2024-04-25 21:53 3 10
      幻影~ · 提问
      2024-04-13 20:13 10 2
      幻影~ · 找工作
      2024-04-07 10:44 18 2
      幻影~ · 问题
      2024-03-31 17:20 7 2
      TONYGFX · AOSP
      2024-03-28 17:11 4 2