I have a ArrayAdapter with a lot of "if" to check the first letter of the list title to set a background color, but I would like to use something as a array or another thing to reduce the lines the class, but I don't know how to implement it, someone can help?
public class DadosArrayAdapter extends ArrayAdapter<Dados> {
private int resource = 0;
private LayoutInflater inflater;
private Context context;
public DadosArrayAdapter(Context context, int resource) {
super(context, resource);
inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
this.resource = resource;
this.context = context;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = null;
ViewHolder viewHolder = null;
if (convertView == null) {
viewHolder = new ViewHolder();
view = inflater.inflate(resource, parent, false);
viewHolder.txtCor = (TextView) view.findViewById(R.id.txtCor);
viewHolder.txtFabricante = (TextView) view.findViewById(R.id.txtFabricante);
viewHolder.txtNome = (TextView) view.findViewById(R.id.txtNome);
view.setTag(viewHolder);
convertView = view;
} else {
viewHolder = (ViewHolder) convertView.getTag();
view = convertView;
}
Dados dados = getItem(position);
if (dados.getFabricante().startsWith("A")) {
viewHolder.txtCor.setBackgroundColor(context.getResources().getColor(R.color.color_a));
viewHolder.txtCor.setText("A");
} else if (dados.getFabricante().startsWith("B")) {
viewHolder.txtCor.setBackgroundColor(context.getResources().getColor(R.color.color_b));
viewHolder.txtCor.setText("B");
} else if (dados.getFabricante().startsWith("C")) {
viewHolder.txtCor.setBackgroundColor(context.getResources().getColor(R.color.color_c));
viewHolder.txtCor.setText("C");
} else if (dados.getFabricante().startsWith("D")) {
viewHolder.txtCor.setBackgroundColor(context.getResources().getColor(R.color.color_d));
viewHolder.txtCor.setText("D");
} else if (dados.getFabricante().startsWith("E")) {
viewHolder.txtCor.setBackgroundColor(context.getResources().getColor(R.color.color_e));
viewHolder.txtCor.setText("E");
} else if (dados.getFabricante().startsWith("F")) {
viewHolder.txtCor.setBackgroundColor(context.getResources().getColor(R.color.color_f));
viewHolder.txtCor.setText("F");
} else if (dados.getFabricante().startsWith("G")) {
viewHolder.txtCor.setBackgroundColor(context.getResources().getColor(R.color.color_g));
viewHolder.txtCor.setText("G");
} else if (dados.getFabricante().startsWith("H")) {
viewHolder.txtCor.setBackgroundColor(context.getResources().getColor(R.color.color_h));
viewHolder.txtCor.setText("H");
} else if (dados.getFabricante().startsWith("I")) {
viewHolder.txtCor.setBackgroundColor(context.getResources().getColor(R.color.color_i));
viewHolder.txtCor.setText("I");
} else if (dados.getFabricante().startsWith("J")) {
viewHolder.txtCor.setBackgroundColor(context.getResources().getColor(R.color.color_j));
viewHolder.txtCor.setText("J");
} else if (dados.getFabricante().startsWith("K")) {
viewHolder.txtCor.setBackgroundColor(context.getResources().getColor(R.color.color_k));
viewHolder.txtCor.setText("K");
} else if (dados.getFabricante().startsWith("L")) {
viewHolder.txtCor.setBackgroundColor(context.getResources().getColor(R.color.color_l));
viewHolder.txtCor.setText("L");
} else if (dados.getFabricante().startsWith("M")) {
viewHolder.txtCor.setBackgroundColor(context.getResources().getColor(R.color.color_m));
viewHolder.txtCor.setText("M");
} else if (dados.getFabricante().startsWith("N")) {
viewHolder.txtCor.setBackgroundColor(context.getResources().getColor(R.color.color_n));
viewHolder.txtCor.setText("N");
} else if (dados.getFabricante().startsWith("O")) {
viewHolder.txtCor.setBackgroundColor(context.getResources().getColor(R.color.color_o));
viewHolder.txtCor.setText("O");
} else if (dados.getFabricante().startsWith("P")) {
viewHolder.txtCor.setBackgroundColor(context.getResources().getColor(R.color.color_p));
viewHolder.txtCor.setText("P");
} else if (dados.getFabricante().startsWith("Q")) {
viewHolder.txtCor.setBackgroundColor(context.getResources().getColor(R.color.color_q));
viewHolder.txtCor.setText("Q");
} else if (dados.getFabricante().startsWith("R")) {
viewHolder.txtCor.setBackgroundColor(context.getResources().getColor(R.color.color_r));
viewHolder.txtCor.setText("R");
} else if (dados.getFabricante().startsWith("S")) {
viewHolder.txtCor.setBackgroundColor(context.getResources().getColor(R.color.color_s));
viewHolder.txtCor.setText("S");
} else if (dados.getFabricante().startsWith("T")) {
viewHolder.txtCor.setBackgroundColor(context.getResources().getColor(R.color.color_t));
viewHolder.txtCor.setText("T");
} else if (dados.getFabricante().startsWith("U")) {
viewHolder.txtCor.setBackgroundColor(context.getResources().getColor(R.color.color_u));
viewHolder.txtCor.setText("U");
} else if (dados.getFabricante().startsWith("V")) {
viewHolder.txtCor.setBackgroundColor(context.getResources().getColor(R.color.color_v));
viewHolder.txtCor.setText("V");
} else if (dados.getFabricante().startsWith("W")) {
viewHolder.txtCor.setBackgroundColor(context.getResources().getColor(R.color.color_w));
viewHolder.txtCor.setText("W");
} else if (dados.getFabricante().startsWith("X")) {
viewHolder.txtCor.setBackgroundColor(context.getResources().getColor(R.color.color_x));
viewHolder.txtCor.setText("X");
} else if (dados.getFabricante().startsWith("Y")) {
viewHolder.txtCor.setBackgroundColor(context.getResources().getColor(R.color.color_y));
viewHolder.txtCor.setText("Y");
} else if (dados.getFabricante().startsWith("Z")) {
viewHolder.txtCor.setBackgroundColor(context.getResources().getColor(R.color.color_z));
viewHolder.txtCor.setText("Z");
} else {
viewHolder.txtCor.setBackgroundColor(context.getResources().getColor(R.color.color_null));
viewHolder.txtCor.setText("?");
}
viewHolder.txtFabricante.setText(dados.getFabricante());
viewHolder.txtNome.setText(dados.getNome());
return view;
}
static class ViewHolder {
TextView txtCor;
TextView txtFabricante;
TextView txtNome;
} }
Thank you