Alterar a cor de fundo de um item no Android ListActivity onListItemClick
Eu sei que parece muito simples, e há perguntas sobre isso. Mas nada disso poderia resolver o meu problema. Aqui vamos nos:
Eu quero mudar a cor de fundo de um item da lista em umListActivity
quando o usuário clica nele e o altera de volta para a cor original quando o usuário clica novamente (ou seja, selecione / deselecione o tipo de aparência do item)
Eu tentei usar getChildAt, ele funciona perfeitamente se eu tiver todos os itens visíveis em uma tela sem ter que rolar.
Código:
getListView().getChildAt(position).setBackgroundColor(Color.CYAN);
O problema começa quando tenho mais itens na lista e o usuário precisa rolar por eles. Quando o fundo de um item é alterado, a cor do plano de fundo é exibida nos itens recém-visíveis à medida que eu rola. Também ogetChildAt(position)
devolvenull
(e, portanto, umNullPointerException
) ao clicar novamente no item.
Alguém pode me ajudar com um código simples que me ajude a mudar a cor de fundo de um item da lista?
Desde já, obrigado!