-2

"AT"상태가있는 지불 상태에서 정보 arraylist를받는 어댑터에 문제가 있습니다. 특정 상태를 칠할 가치가있는 경우 색깔, 안드로이드 도료는 그 상태와 다른 상태가 "AT" 아무 질문도없이. 나는 그것을 equals로 검증하지만 그것은 안드로이드를 malograra하고 "AT"가 아닌 다른 사람들을 검증하는 것으로 보인다.큰 정보의 유효성을 확인하는 경우 안드로이드 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

문제는 귀하의 의견이 재활용되고 있으며, 그들은 붉은 머물고 있다는 점이다. 이 솔루션은 당신이 대답으로 받아 들일 수 당신을 위해 일했다면,

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

감사!, 좋은 일 –

+0

@LuisAlexanderManriqueLopez : 당신은 텍스트 색상을 재설정 else가 절을 추가 하시겠습니까? – petey