如何根据性别自动使列表视图中的文本和图标的颜色?例如男孩的蓝色和女孩的粉红色。
此接口示例。列表名称取自服务器中的数据库
@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;
}
检查列表中的图像视图以获取更多说明。
希望这有帮助。