Элемент ListView не останется «выбранным»

Я хочу изменить фон элемента списка, когда пользователь щелкает по нему. Вроде как страница настроек Honeycomb (хотя я имею дело не только с настройками, поэтому я не использую PreferenceActivity), у меня есть эта функция, работающая через селектор состояния селектора состояния ресурса, за исключением случаев, когда нажимается Меню просмотра списка изменяет линейный макет справа от списка (вид разделенного экрана). Я предполагаю, что listview теряет фокус, поэтому state_pressed больше не соответствует действительности.

   
     
        
     
   

Есть ли какие-либо советы, как сохранить этот элемент списка в цвете, пока не будет выбран другой элемент listview? Спасибо!

РЕДАКТИРОВАТЬ:

Мне удалось изменить фон в setOnItemClickListener с помощью

view.setBackgroundResource(R.color.red); 

. Мне нужен только один, выбранный за раз, поэтому, когда нажимаются другие элементы списка, я пробовал lv.invalidate () и lv.getChildAt (0) .invalidate () , но ни один из них не работал, а второй вызывает исключение нулевого указателя. Есть идеи, как вернуть цвет?

8
задан yellavon 18 October 2014 в 17:41
поделиться