Android Studio 中的颜色图标和文本



如何根据性别自动使列表视图中的文本和图标的颜色?例如男孩的蓝色和女孩的粉红色。

此接口示例。列表名称取自服务器中的数据库

       @Override
            public View getView(final int position, View convertView, ViewGroup parent) {
                // Get ImageView
                ImageView ivGender = (ImageView) convertView.findViewById(R.id.ivGender);
                // Check if it is male or female and set the image
                if (GetAll.get(position).getgender().equals('M')){
                    ivGender.setImageResource(R.drawable.roundM);
                }else{
                    ivGender.setImageResource(R.drawable.roundF);
                }
                return convertView;
            }

这是我的图标编码。如何更改文本颜色?

您必须在listiview中使用holder来根据您的排序设置不同的属性 在这里,它是列表中有许多记录的性别。

这是您的模型类,

ArrayList<YourModel> list = new ArrayList<>();

getView() 方法中使用的静态列表类,

static class ListContent {
        ImageView ivGender;
    }

这样你可以

public View getView(final int position, View convertView, ViewGroup parent) {
                        // TODO Auto-generated method stub
                        final ListContent holder;
                        View v = convertView;
                        if (v == null) {
                            v = mInflater.inflate(R.layout.row_pvs_list_item, parent, false);
                            holder = new ListContent();             
                            holder.ivGender = (ImageView) v.findViewById(R.id.ivGender);
                            v.setTag(holder);
                        } else {
                            holder = (ListContent) v.getTag();
                        }       
                        YourModel ym = list.get(position);  //your model class and arraylist declared above
                        if(ym.getgender().equalsIgnoreCase("M")){  
                           holder.ivGender.setImageDrawable(getResources().getDrawable(R.drawable.roundM));
                        else{      
                            holder.ivGender.setImageDrawable(getResources().getDrawable(R.drawable.roundM));
                        }
                        }
                        return v;
                    }

检查列表中的图像视图以获取更多说明。

希望这有帮助。

相关内容

  • 没有找到相关文章

最新更新