0

我希望我的列表项保持其按下/选择状态,直到我按下列表上的其他项目。键入此内容时,我认为我希望它像 RadioButtons 一样工作,而没有圆形按钮。我尝试将列表项的选中/按下状态设置为 true,或者将其背景颜色设置为开启,onListItemClick但是当我这样做时,即使在单击其他项后,我的列表项仍保持单击状态。如何取消设置列表中先前单击的项目的背景颜色?或者有其他方法可以做到这一点?

4

1 回答 1

0

尝试这个

第 1 步:尝试使用 for loop in 将背景颜色(即您的原始背景颜色)重置为所有列表项onItemClickListener()

第2步:为选定的一个设置不同的背景颜色。

如果您使用自定义列表视图,那么这将非常容易。

编辑自定义列表视图教程

自定义 ListView这个

视频 - youtubeVideo

希望能帮助到你

编辑

这就是我所做的:我遍历可见列表以将每个项目的背景设置为透明,将所选项目的背景设置为不同的颜色。这样,颜色会一直保持到我按下另一个项目。

protected void onListItemClick(ListView l, View v, int position, long id) { int childCount = l.getChildCount();

for (int i = 0; i < childCount; i++)
{
    View listItem = l.getChildAt(i);
    if(listItem != null )   listItem.setBackgroundColor(0x00000000);
}
v.setBackgroundColor(getResources().getColor(R.color.pressed));
...

}

于 2012-07-22T14:31:33.400 回答