0
  • 最佳答案

    SwitchButton的setChecked和onCheckedChanged解除关联解决了此问题。

    list item 滑出屏幕时就意味着有新的list item 滑进屏幕,新的list item 调用getview 获取的是滑出屏幕的item 的convertView。

    所以绘制新的item ,调用setChecked(), 实际调用的是旧的对象的setChecked.

    1250424164393684992  评论     打赏       Yuki_Ma
    • 现在很少用ListView了,推荐你使用RecyclerView。状态错乱的,一般是复用问题。你的判断有问题呢!!!字符串的判断用==吗?这是java哦,java用==,字符串里判断的是内存地址。你用equals吧???

      1153952789488054272  评论     打赏       拉大锯
      • 上面的重新显示出来就是重新加载了 所以状态就没了 应该可以给List里增加一个状态属性 每次选中就更新list的状态

        1247069679944470528  评论     打赏       lxxxx9
        • Yuki_Ma  回复 @lxxxx9
          感谢回答,但是选中的时候调用了 notifyDataSetChanged(); 好像还是没有解决问题
          Yuki_Ma 2020-05-31 23:57   回复 1250424164393684992
      相关问题
      幻影~ · 安卓
      2024-04-26 19:25 2 4
      deanhu · AOSP
      2024-04-25 21:53 3 10
      幻影~ · 提问
      2024-04-13 20:13 10 2
      幻影~ · 找工作
      2024-04-07 10:44 16 2
      幻影~ · 问题
      2024-03-31 17:20 7 2
      TONYGFX · AOSP
      2024-03-28 17:11 4 2