2 xinyun94 xinyun94 于 2016.03.26 16:38 提问

listview item点击里面的textview变色

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

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

5个回答

lxk_1993
lxk_1993   Rxr 2016.03.28 10:31
已采纳

图片说明

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

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

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

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

lxk_1993
lxk_1993 然后 adapter.notifyDataSetChanged();
一年多之前 回复
qq_34198206
qq_34198206   2016.03.26 16:42

适配器里面,getView方法里面,添加判断,就可以了。写一个标记,默认为第一条,店里的时候切换就行了。

xinyun94
xinyun94   2016.03.27 10:16

适配器里面,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();
        }
    });

能修改背景颜色,但是不能修改字体颜色 = =。。。

qq_27578023
qq_27578023   2016.06.06 22:06

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

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

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

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

qq_21206775
qq_21206775   2016.08.31 14:05

可以监听item的点击事件,被点击的设置下颜色,没被点击的也设下颜色,就好了

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!