0
在我的列表視圖中,我想讓TextViews帶有相應於文本顏色的圖像Drawables。 我嘗試使用下面的代碼,但在文本顯示如預期時,Drawable始終顯示列表中的所有TextView的最後一種顏色 - 直到列表滾動,然後顯示正確的顏色。適配器不能正常工作,直到滾動
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
ViewHolder holder;
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View row = convertView;
if (row == null) {
row = inflater.inflate(R.layout.mylayout, parent, false);
holder = new ViewHolder();
holder.textView = (TextView) row.findViewById(R.id.myTextView);
holder.img = getResources().getDrawable(R.drawable.my_icon);
row.setTag(holder);
} else {
holder = (ViewHolder) row.getTag();
}
holder.textView.setText(colors[position]);
int color = 0;
switch (colors[position])
{
case "blue":
color = getResources().getColor(R.color.blue);
break;
case "green":
color = getResources().getColor(R.color.green);
break;
case "red":
color = getResources().getColor(R.color.red);
break;
}
holder.img.setColorFilter(color, PorterDuff.Mode.SRC_ATOP);
holder.textView.setCompoundDrawablesWithIntrinsicBounds(null, null, null, holder.img);
return row;
}
static class ViewHolder {
TextView textView;
Drawable img;
}
我想創建一個TextView與drawableLeft圖像。 – james
只需放入Log.d並檢查每個位置中變量顏色的值 –