Mudar cor de texto em ListView

1,891 views
Skip to first unread message

Leonardo Sobrinho

unread,
Apr 3, 2012, 6:56:39 AM4/3/12
to androidb...@googlegroups.com

Colegas, bom dia.

 

Eu consegui fazer um método para modificar o background da linha do listview de acordo com uma determinada condição, só que preciso fazer diferente, preciso modificar a cor do texto (fonte) que está na linha do listview, porém não consegui encontrar nada.

 

Alguém já fez algo parecido ? Alguma idéia ?

 

Desde já, obrigado.

 

Atenciosamente,

 

Leonardo Sobrinho

Deivison Servat Sporteman

unread,
Apr 3, 2012, 8:10:33 AM4/3/12
to androidb...@googlegroups.com
https://www.google.com.br/search?sourceid=chrome&ie=UTF-8&q=listview+change+text+color

Acredito que os 3 primeros resultados possam te ajudar.

Att

Leonardo Sobrinho

unread,
Apr 3, 2012, 4:13:31 PM4/3/12
to androidb...@googlegroups.com

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;

                   

             }

 

Farath

unread,
Apr 4, 2012, 2:23:11 PM4/4/12
to Android Brasil - Dev
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:

Thiago Lopes Rosa

unread,
Apr 4, 2012, 2:54:57 PM4/4/12
to androidb...@googlegroups.com
Pq ele espera uma COR, quando voce coloca só R.color.xxx você está passando o ID como se fosse uma COR... =)


Thiago


2012/4/4 Farath <fabio...@gmail.com>
Reply all
Reply to author
Forward
0 new messages