Die Hintergrundfarbe von Android-Listview-Elementen ändert sich beim Scrollen
MeineListView
enthält zweiTextviews
. In einer Zeile steht der erste für den Namen und der zweite für das Ergebnis. Ich muss die Hintergrundfarbe des Ergebnisses ändernTextView
entsprechend dem Ergebnis. Wie wenn dann das Ergebnis bestehenTextView
Die Farbe ist grün, wenn das Ergebnis ausfälltTextView
Farbe wird rot sein. Ich habe zehn Zeilen in meinemListView
. Ich habe es so versucht
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder holder;
if(convertView==null)
{
holder = new ViewHolder();
convertView = inflater.inflate(R.layout.items, null);
holder.imgViewLogo = (ImageView) convertView.findViewById(R.id.imgViewLogo);
holder.txtViewTitle = (TextView) convertView.findViewById(R.id.txtViewTitle);
holder.txtViewDescription = (TextView) convertView.findViewById(R.id.txtViewDescription);
holder.txtholder = (TextView) convertView.findViewById(R.id.holder1);
holder.img = (ImageView) convertView.findViewById(R.id.temperrr);
convertView.setTag(holder);
}
else
holder=(ViewHolder)convertView.getTag();
ItemBean bean = (ItemBean) itemList.get(position);
holder.imgViewLogo.setImageResource(bean.getImage());
holder.txtViewTitle.setText(bean.getTitle());
holder.txtViewDescription.setText(bean.getDescription());
//------------------
if (position==0)
{
if(GridviewAdapter.glu>=81)
{
holder.img.setImageResource(R.drawable.red_arrow);
holder.txtViewDescription.setBackgroundResource(R.color.resultred);
holder.txtholder.setBackgroundResource(R.color.resultred);
}
else if (GridviewAdapter.glu==79||GridviewAdapter.glu==80)
{
holder.img.setImageResource(R.drawable.orange_arrow);
holder.txtViewDescription.setBackgroundResource(R.color.resultoren);
holder.txtholder.setBackgroundResource(R.color.resultoren);
}
else
{
holder.img.setImageResource(R.drawable.resultarrawnocolor);
holder.txtViewDescription.setBackgroundResource(0);
holder.txtholder.setBackgroundResource(0);
}
}
holder.img.setImageResource(R.drawable.resultarrawnocolor);
return convertView;
}
Aber wenn Sie durch die Liste scrollen, ändert sich die Hintergrundfarbe der anderen zufälligen Elemente. Was muss ich tun? Wie kann ich die Elemente an jeder Position in der Listenansicht steuern? Der obige Code gilt nur für die erste Zeile. habe ich recht?