我正在尝试为自定义列表视图创建 2 3 4 5 6 7 8 9 10
1.0 1.0 1.3 1.5 1.0 1.1 1.0 1.2 1.0
。当用户点击ArrayAdapter
上的“完成”时,我希望该特定条目的行颜色变为红色,然后隐藏“完成”按钮并显示一个名为“重置”的不同按钮。到目前为止,这工作得很好,但它更改了可滚动列表中向下行的行和按钮配置。
我已经看了很多不同的解决方案,而且我已经尝试了几乎所有我看过的建议。我一定错过了什么......
listView
答案 0 :(得分:0)
if (r.getResultsBoatFinishTime() != null) {
/* ... */
//set the row color to red
view.setBackgroundColor(view.getResources().getColor(R.color.red06));
/* ... */
}
您忘记了View
回收。您已着色为红色的View
也会被重新用于显示其他行。由于您已为View
将背景颜色设置为红色,因此其他行也将具有红色背景。
一个简单的解决方案是添加else
分支:
} else {
view.setBackgroundColor(view.getResources().getColor(R.color.myoriginalcolor));
}