这真的是一个奇怪的问题,我遇到了几个谷歌搜索,但都是徒劳的。
好吧,我有一个列表视图,其中在用户单击项目时应更改所选项目的颜色。
这篇文章帮助我更改了列表视图所选项目的颜色。现在我可以在单击项目时更改颜色。但是,如果我滚动列表视图,颜色会跳出选择。
https://stackoverflow.com/a/12080202/1657093
如果选择了一个项目,例如第一行的列表视图项目,最后一个项目也被选中,同时滚动项目颜色继续移动到我从未选择的项目。
这是列表视图
<ListView
android:id="@+id/loadedlist"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/horizontalScroll"
android:layout_alignParentLeft="true"
android:layout_below="@+id/Title"
android:layout_toLeftOf="@+id/sidepanel"
android:scrollingCache="false">
</ListView>
我使用数组适配器来填充列表视图
ringlist.setAdapter(new ArrayAdapter
(this,android.R.layout.simple_list_item_1,rings));
并使用列表视图的点击方法来设置颜色,
ringlist.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int pos,long id) {
// TODO Auto-generated method stub
try{
String con;
String s = ringlist.getItemAtPosition(pos).toString();
con = s.toLowerCase();
String selectedFromList = con;
int resId = getResources().getIdentifier(selectedFromList, "raw",
"com.example.android");
}
if (row != null) {
row.setBackgroundColor(Color.BLACK);
}
row = view;
view.setBackgroundColor(Color.GREEN);
}
}
});
上面的代码完成了这项工作,但是在滚动列表时出现了问题
请指教。