2012-06-03 2 views
1

Я добавил пользовательский диалог только с простым списком внутри.ListView не показывает цвет нажатого по умолчанию

Я не получаю цвет выбора (который обычно отображается в виде списка без каких-либо дополнительных настроек), одновременно нажимая элемент. Нажмите прослушиватель и т. Д. Но не цвет.

попытался установленопо явно селектор:

list.setSelector(R.color.blue); 

Но ничего не произошло. Пробовал также устанавливать разные цвета фона для списка, но не выделяя цвета.

+0

Пожалуйста вывесить XML в вашем Drawable. – Sam

+0

Вы пробовали 'android: listSelector =" @ drawable/list_selector "'? – Sajmon

ответ

0

Возможно, что-то не так с созданным вами ресурсом цвета, потому что я могу изменить цвет при выборе элемента списка, встроенного в пользовательский диалог, используя list.setSelector(R.color.blue);.

+0

setSelector() был просто попыткой получить некоторый цвет. Я говорю о стандартном цвете, который отображается в списках при нажатии. Отредактировал сообщение, чтобы сделать его более понятным. – Ixx

0

У меня такая же проблема. Фиксированный его с добавлением:

StateListDrawable drawable = new StateListDrawable(); 
drawable.addState(new int[] { android.R.attr.state_pressed }, new ColorDrawable(Color.BLUE)); 
view.setBackgroundDrawable(drawable); 

с адаптером getView() методом ListView «ы.

0

Хорошо, я опоздал, чтобы ответить на этот вопрос, но я нашел фактический ответ на тот случай, если кто-то в будущем будет искать ответ. Остальные два ответа здесь не сработали.

Итак, у меня есть ListView, у которого есть специальная строка ListView с рисунками в качестве фона. Это сделало так, чтобы по умолчанию PRESSED серая подсветка не мигала и не включалась, например, когда вы делаете длинную печать. Случается, что ListView рисует селектор, если он есть, под представлением. Вот как это исправить:

Up в OnCreate:

// this sets the selector/pressed drawable or you could use a color or whatever 
listView.setSelector(getResources().getDrawable(R.drawable.listviewrow_pressed)); 

// this draws the selector drawable/color on top 
listView.setDrawSelectorOnTop(true); 
Смежные вопросы