2011-12-29 2 views
28

Я использую isEnabled в моем BaseAdapter ListView и контролирую, какие строки можно кликать. Однако я хочу отключить событие click для моего заголовка, а isEnabled не работает. Позиция 0 указывает на первую строку, поэтому я не могу управлять щелчком заголовка.Android ListView Header Disable Нажмите

С другой стороны, когда я добавляю заголовок с использованием addHeaderView, давая аргументы (header, null, false), он работает, но разделители отсутствуют таким образом. Как я могу это сделать?

Есть ли кто-нибудь, кто знает эту проблему?

ответ

83

Вы можете использовать addHeaderView(header, null, false). Для заголовка надуйте представление, в котором есть содержимое заголовка с разделителем внизу. Это представление - это то, что я использовал для разделителя.

<View 
    android:layout_width="fill_parent" 
    android:layout_height="1px" 
    android:background="#adaaad" /> 
+43

Использование addHeaderView (view, null, false) сработало. addHeaderView (view), по-видимому, по умолчанию имеет значение «selectable». –

+1

Это может удалить разделители элементов списка - см. Http://stackoverflow.com/questions/14367278/issue-with-addheaderview-and-missing-list-separator/14368524#14368524 Если вы хотите, чтобы все элементы списка и заголовок не выбирались , вы можете установить 'code'listView.setSelector (android.R.color.transparent),' code'. Это сохранит разделители. –

+3

Это старый вопрос, но я хотел бы указать, что на некоторых устройствах значение по умолчанию можно выбрать, а другое большинство не выбирается. Поэтому полезно всегда использовать метод трех аргументов. –

Смежные вопросы