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;
>
> }






0 comentários:
Postar um comentário