Android – отключить выделение onClick для одной группы в расширяемом списке?

У меня есть ExpandableListView, поддерживаемый реализацией BaseExpandableListAdapter. Первая группа в списке функционирует как заголовок и не может быть расширена. Я установил isChildSelectable() для возврата false для этой группы, и все работает нормально. Однако, когда пользователь щелкает эту нерасширяемую группу, пользовательский интерфейс по-прежнему выделяет строку. Это сбивающий с толку и ненужный визуальный сигнал, который я хотел бы устранить.

Я не могу установить android:listSelector="@android:color/transparent" в самом ExpandableListView, потому что я делаю, чтобы другие элементы списка выделялись при нажатии и расширении.

Можно ли подавить выделение кликов для этой первой группы (только)?


person Devon Biere    schedule 17.07.2015    source источник
comment
Я тоже борюсь с этим, если кто-нибудь знает, как это сделать, ответьте и здесь: stackoverflow.com/questions/33893253/   -  person jack_the_beast    schedule 24.11.2015


Ответы (2)


Попробуйте установить отдельное родительское представление с OnClickListener на null с getGroupView().

View getGroupView(int groupPosition, boolean isExpanded, View convertView,
            ViewGroup parent) {
    ...
    convertView.setOnClickListener(null);
    ...
}
person Song    schedule 10.02.2017

android:listSelector="@android:color/transparent"

просто добавьте эту строку в свой список расширения в файле XML

person Khalil Abubaker    schedule 24.06.2020