Tecnologia do Blogger.
RSS

Re: RES: [androidbrasil-dev] Mudar cor de texto em ListView

Eu tive um problema semelhante.
No getView() o setTextColor do TextView não aceitou como parâmetro uma
referencia à cor definida no meu XML (int), tive que pegar a cor com o
getResources.


TextView textStatus = (TextView)
convertView.findViewById(R.id.status);
textStatus.setTextColor(convertView.getResources().getColor(R.color.red));


E no XML:

<resources>
<color name="red">#FF0000</color>
</resources>

On Apr 3, 5:13 pm, "Leonardo Sobrinho" <leonardossobri...@gmail.com>
wrote:
> Deivison, muito obrigado.
>
> Consegui resolver meu problema. Segue abaixo para quem tiver a mesma
> necessidade, criei um SimpleAdapter customizado e fiz as implementações no
> getView.
>
> Abraços,
>
> Leonardo
>
>        public class ClientesAdapter extends SimpleAdapter {
>
>              public ClientesAdapter(Context context, List<HashMap<String,
> String>> data, int resource, String[] from, int[] to) {
>
>                     super(context, data, resource, from, to);
>
>              }
>
>              @Override
>
>              public View getView(int position, View convertView, ViewGroup
> parent) {
>
>                     View view = super.getView(position, convertView,
> parent);
>
>                     // Vamos "inflar" o layout para modificá-lo
>
>                     if (view == null) {
>
>                            LayoutInflater inflater = getLayoutInflater();
>
>                            view =
> inflater.inflate(R.layout.clientes_lista_item_grid, null);
>
>                     }
>
>                     // Vamos identificar os textViews
>
>                     TextView tv1 = (TextView)
> view.findViewById(R.id.tvClientesListaCol1);
>
>                     TextView tv2 = (TextView)
> view.findViewById(R.id.tvClientesListaCol2);
>
>                     TextView tv3 = (TextView)
> view.findViewById(R.id.tvClientesListaCol3);
>
>                     TextView tv4 = (TextView)
> view.findViewById(R.id.tvClientesListaCol4);
>
>                     // "Pegando" o código do cliente
>
>                     String s =
> listHashMap.get(position).get("ClienteCodigo");
>
>                     // Verificando se tem valor vencido
>
>                     double valor = new
> TitulosDao(ActClientesLista.this).getValTitVencido(s);
>
>                     // Caso tenha valor vencido vamos mudar a cor da fonte
> no ListView para vermelho
>
>                     if (valor > 0) {
>
>                            tv1.setTextColor(Color.RED);
>
>                            tv2.setTextColor(Color.RED);
>
>                            tv3.setTextColor(Color.RED);
>
>                            // Vamos mudar a situação para exibir um
> asterisco (*)
>
>                            tv3.setText("*");
>
>                            tv4.setTextColor(Color.RED);
>
>                     } else {
>
>                            tv1.setTextColor(Color.BLACK);
>
>                            tv2.setTextColor(Color.BLACK);
>
>                            tv3.setTextColor(Color.BLACK);
>
>                            tv4.setTextColor(Color.BLACK);
>
>                     }
>
>                     return view;
>
>              }

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário