поведение listview dillemna - PullRequest
       10

поведение listview dillemna

0 голосов
/ 12 февраля 2012

В настоящее время я реализую ListView, заполненный CheckedTextViews, и у меня все работает так, как я хочу. За исключением одной вещи: мой ListView остается фокусируемым, и поэтому элементы в нем получают отвратительную оранжевую рамку вокруг них при фокусировке. Это также меняет цвет текста элемента, который раздражает. Я пытался использовать метод SetItemsFocusable, но безрезультатно. Я также переопределил метод isEnabled моего класса адаптера, но это не позволило мне проверить и снять флажки выбора элементов списка. Я хочу сохранить функциональность CheckedTextViews, просто отключить их фокусировку. Я также попытался сделать CheckedTextViews сами по себе не сфокусированными в своем XML-файле, но это тоже не сработало. Есть ли какой-то способ просто отключить фокус для всего ListView и всех его дочерних элементов, не теряя возможности проверки своих дочерних элементов? Я не хочу, чтобы ListView фокусировался ни прикосновением, ни прокруткой на клавиатуре. Большое спасибо!

Ответы [ 2 ]

0 голосов
/ 23 марта 2012

Я обычно использую

m_listView.setSelector(drawable or resid);

Чтобы достичь этого.

ps: я думаю, что отвратительный апельсин исходит из многих источников, таких как выбранный элемент списка или фокусировка элемента или самоконтроль элемента управления нажатием / фокусировкой, так что, возможно, он не может быть сфокусирован, но отвратительный оранжевый также присутствует.

0 голосов
/ 23 марта 2012

Вы можете установить прозрачную фокусировку Drawable для отдельных видов в вашем списке с помощью StateListDrawable.Попробуйте использовать @android:color/transparent (это Drawable, по-видимому).

Это помогло мне: http://blog.stylingandroid.com/archives/55

...