android 开发
假设一个listview里面有三个item,每个item里面有两个textview,我想实现这样的功能:
初始化默认:第一个为黑色,其他为白色
点击其他的item,则点击的item内的两个textview字体颜色变成黑色,其他为白色
不知道你要的是不是这样?
这样的话 你这样在数据源里面 加个 判断是否为黑的 标志位。
默认第一条数据的第一个textview为true.
在adapter 的getview里面更具这个标志位 来设置 背景。
点击的时候 先把所有的数据的标志位设为fasle, 然后在设置点击item的第一个textview的标志位为true
适配器里面,getView方法里面,添加判断,就可以了。写一个标记,默认为第一条,店里的时候切换就行了。
适配器里面,getView方法里面,添加判断,就可以了。写一个标记,默认为第一条,店里的时候切换就行了。
不行啊!更改不了,这是代码:
这是adapter里面的
public void setChoiced(int position){
lastClick = position;
}
if(lastClick == position){
System.out.println("P");
title.setTextColor(Color.RED);
}else{
System.out.println("PP");
title.setTextColor(Color.BLUE);
}
这是onitemclick里面的:
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
adapter.setChoiced(position);
adapter.notifyDataSetChanged();
}
});
能修改背景颜色,但是不能修改字体颜色 = =。。。
不知道你要的是不是这样?
这样的话 你这样在数据源里面 加个 判断是否为黑的 标志位。
默认第一条数据的第一个textview为true.
在adapter 的getview里面更具这个标志位 来设置 背景。
点击的时候 先把所有的数据的标志位设为fasle, 然后在设置点击item的第一个textview的标志位为true
可以监听item的点击事件,被点击的设置下颜色,没被点击的也设下颜色,就好了