listview item点击里面的textview变色

android 开发
假设一个listview里面有三个item,每个item里面有两个textview,我想实现这样的功能:

初始化默认:第一个为黑色,其他为白色
点击其他的item,则点击的item内的两个textview字体颜色变成黑色,其他为白色

5个回答

图片说明

不知道你要的是不是这样?

这样的话 你这样在数据源里面 加个 判断是否为黑的 标志位。

默认第一条数据的第一个textview为true.

在adapter 的getview里面更具这个标志位 来设置 背景。
点击的时候 先把所有的数据的标志位设为fasle, 然后在设置点击item的第一个textview的标志位为true

lxk_1993
103style 然后 adapter.notifyDataSetChanged();
4 年多之前 回复

适配器里面,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的点击事件,被点击的设置下颜色,没被点击的也设下颜色,就好了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问