- 编辑 -
我有什么:
2个不同颜色的ListViews
我正在使用 CustomListViewAdapter
我想做什么:
1 - 在第一个ListView的项目点击中,此视图的颜色将设置为与第二个颜色相同的颜色,TextView的文本颜色将为白色而不是黑色。
2 - 当点击另一个项目时,第一个项目将按原样返回。
问题:
一切都很顺利,直到我发现当我点击一个项目并滚动时,其他视图也会改变背景颜色和文字颜色..
在CustomListAdapater中的getView()中:
代码:
vi = inflater.inflate(R.layout.itemshow, null);
vi.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
Log.i("myList","isClicked");
if(PreviousView!=null){
PreviousView.setBackgroundColor(Color.WHITE);
holder.nametext.setTextColor(Color.BLACK);
holder.quantitytext.setTextColor(Color.BLACK);
holder.pricetext.setTextColor(Color.BLACK);
}
v.setBackgroundColor(Color.parseColor("#330000"));
holder.nametext.setTextColor(Color.WHITE);
holder.quantitytext.setTextColor(Color.WHITE);
holder.pricetext.setTextColor(Color.WHITE);
PreviousView = v;
}
});
提前感谢您的帮助......
答案 0 :(得分:1)
您需要在getView
的{{1}}方法中为视图设置默认颜色。发生这种情况的原因是因为视图在listviews
中被回收。如果您希望更好地控制视图,最好创建自己的适配器并覆盖listview
方法:
getView()
答案 1 :(得分:1)
我终于解决了我的问题..如果有人有兴趣我会发布我的代码:)我不会发布它现在因为没有很多意见..
另外,我推荐任何阅读本文时遇到问题的人: