xinyun94
xinyun94
采纳率52.4%
2016-03-26 08:38 浏览 3.2k

listview item点击里面的textview变色

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

5条回答 默认 最新

  • 已采纳
    lxk_1993 103style 2016-03-28 02:31

    图片说明

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

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

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

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

    点赞 评论 复制链接分享
  • qq_34198206 yxy_No.1 2016-03-26 08:42

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

    点赞 评论 复制链接分享
  • xinyun94 xinyun94 2016-03-27 02: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 14:06

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

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

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

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

    点赞 评论 复制链接分享
  • qq_21206775 qq_21206775 2016-08-31 06:05

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

    点赞 评论 复制链接分享

相关推荐