如何使用自定义适配器动态更改gridlist中的项目文本颜色?

时间:2016-01-24 15:44:52

标签: android gridview adapter

我有提供项目列表的适配器。我需要在firstPosition和secondPosition上更改某些项目的文本颜色。数据列表不会更改,因此我无法使用notifyDataSetChanged。我怎么能这样做?

这是我的适配器中的方法getView

public View getView(int position, View convertView, ViewGroup parent) {
    ViewHolder holder;
    if (convertView == null){
        convertView = LayoutInflater.from(context).inflate(R.layout.alphabet_item, parent, false);
        holder = new ViewHolder();
        holder.letterTextView = (TextView) convertView.findViewById(R.id.letter_text);
        convertView.setTag(holder);
    }
    holder = (ViewHolder) convertView.getTag();
    holder.letterTextView.setText(String.valueOf(alphabetList.get(position)));
    if (firstPosition == position) {
        holder.letterTextView.setTextColor(context.getResources().getColor(R.color.colorAccent));
    } else if (secondPosition == position){
        holder.letterTextView.setTextColor(context.getResources().getColor(R.color.colorPrimary));
    } else {
        holder.letterTextView.setTextColor(context.getResources().getColor(R.color.colorText));
    }
    return convertView;
}

firstPosition和secondPosition我声明为Integer

1 个答案:

答案 0 :(得分:1)

我没有完全回答你的问题。但我认为你需要的是" firstPosition" &安培;&安培; " secondPosition"你想设置颜色。

为此,您需要检查相同条件下的位置

location ^~ /blog {
    root /var/www/html;
    include /etc/nginx/mime.types;
    try_files $uri $uri/ /blog/index.php;

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        include fastcgi_params;
    }
}