【问题标题】:View selection was deselected while scrolling in listview在列表视图中滚动时取消选择视图选择
【发布时间】:2021-05-30 18:38:27
【问题描述】:

我想更改列表视图中所选项目的背景颜色。

当我点击列表项时,我会看到:

 onItemClick(AdapterView<?> arg0, View view, int position, long arg3) 

然后像这样更改该视图的背景:

view.setBackgroundColor(Color.BLUE);

点击后一切正常。背景被改变了。但我有一个问题。

例如,我在列表视图中有 10 个项目,起初只有 5 个项目可见(因为屏幕分辨率),如果我滚动,我可以看到接下来的 5 个项目。

首先,如果我要选择 1,3 个项目,那么背景颜色会发生变化,然后我将滚动到下五个,如果我再次返回,我无法看到单击的 1,3(它们的背景颜色是更改为原始颜色)。

我该如何解决这个问题?

【问题讨论】:

    标签: android listview


    【解决方案1】:

    您的 listAdapter 在滚动时重用视图,因此受影响的视图可能不再是滚动开始之前的视图。您应该改为向模型添加一个 ivar,并将其更改为指示该对象已被单击并且现在具有不同的背景颜色。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-10
      • 1970-01-01
      • 1970-01-01
      • 2013-12-30
      • 1970-01-01
      • 1970-01-01
      • 2015-11-30
      • 1970-01-01
      相关资源
      最近更新 更多