-2

我遇到了適配器的問題,該適配器從支付狀態中接收信息arraylist,該支付狀態帶有「AT」狀態,當它值得描繪特定顏色,android繪製狀態和其他狀態,在「AT」 沒有任何查詢。我使用equals來驗證它,但它似乎是malograra android並驗證其他不是「AT」的。android arrayadapter如果驗證大信息有問題

public class PlanPagosCreditoAdapter extends ArrayAdapter<beanDatosPlanPagosCredito> { 

public List<beanDatosPlanPagosCredito> list; 

public PlanPagosCreditoAdapter(Context context, List<beanDatosPlanPagosCredito> objects) { 
    super(context, 0, objects); 
    list = objects; 
} 

@Override 
public beanDatosPlanPagosCredito getItem(int position) { 
    return list.get(position); 
} 
@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    // Obtener inflater. 
    LayoutInflater inflater = (LayoutInflater) getContext() 
      .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

    ViewHolder holder; 
    if (null == convertView) { 
     convertView = inflater.inflate(
       R.layout.lista_detalle_creditos, 
       parent, 
       false); 
     holder = new ViewHolder(); 
     holder.fecha_cuota = (TextView) convertView.findViewById(R.id.fecha_cuota); 
     holder.num_cuota = (TextView) convertView.findViewById(R.id.num_cuota); 
     holder.deuda = (TextView) convertView.findViewById(R.id.deuda); 

     convertView.setTag(holder); 
    }else{ 
     holder= (ViewHolder)convertView.getTag(); 
    } 
    beanDatosPlanPagosCredito credito = getItem(position); 

    holder.fecha_cuota.setText(credito.getFechaCuota()); 
    holder.num_cuota.setText(credito.getNumeroCuota()); 
    DecimalFormat precision = new DecimalFormat("0.00"); 
    // subtotal.setText(precision.format(deuda)); 
    holder.deuda.setText(precision.format(credito.getDeuda())); 

    if(credito.getEstado().equals("AT")){ 
     holder.deuda.setTextColor(Color.RED); 

    } 
    return convertView; 
} 
static class ViewHolder { 

    TextView fecha_cuota; 
    TextView num_cuota; 
    TextView deuda; 
} 

}

回答

0

的問題是,你的觀點正在被回收,他們是住紅色。添加else子句,你重置文本顏色:

if(credito.getEstado().equals("AT")){ 
    holder.deuda.setTextColor(Color.RED); 
} else { 
    holder.deuda.setTextColor(Color.BLACK); 
} 
+0

謝謝!,良好的工作 –

+0

@LuisAlexanderManriqueLopez,如果這個解決方案爲您你能接受它的答案? – petey