Изменить цвет фона элемента в Android ListActivity onListItemClick
Я знаю, это звучит очень просто, и есть вопросы по этому поводу. Но ничто из этого не могло решить мою проблему. Итак, поехали:
Я хочу изменить цвет фона элемента списка вListActivity
когда пользователь нажимает на него, и меняет его на исходный цвет, когда пользователь нажимает снова (т.е. выбирает / отменяет выбор вида элемента)
Я попытался использовать getChildAt, он отлично работает, если у меня все элементы видны на одном экране без прокрутки.
Код:
getListView().getChildAt(position).setBackgroundColor(Color.CYAN);
Проблема начинается, когда у меня есть больше элементов в списке, и пользователь должен прокрутить их. После изменения фона для элемента цвет фона отображается на вновь видимых элементах при прокрутке. Так жеgetChildAt(position)
возвращаетсяnull
(и, следовательно,NullPointerException
) при повторном нажатии на элемент.
Может ли кто-нибудь помочь мне с простым кодом, который помогает мне изменить цвет фона элемента списка?
Заранее спасибо!