Как можно сохранить поведение при нажатии элемента списка ExpandableListView по умолчанию при предоставлении группового представления, которое содержит не только TextView? - PullRequest
4 голосов
/ 07 февраля 2011

Можно ли сохранить стандартное поведение нажатия элемента списка ExpandableListView при предоставлении группового представления, которое содержит больше, чем просто TextView. Поведение, о котором я говорю, - это то, когда нажатие элемента меняет цвет фона на желтый.

Каждый раз, когда я предоставляю групповое представление, которое содержит, например, TextView и кнопка, я теряю поведение.

Ответы [ 2 ]

2 голосов
/ 06 апреля 2011

Другой вариант - настройка корневой группы ViewGroup для блокировки фокуса для дочерних представлений.

Пример: <LinearLayout ... android:descendantFocusability="blocksDescendants" />

1 голос
/ 07 февраля 2011

Включение любого представления, которое можно сфокусировать в пользовательском макете элемента списка, приведет к тому, что элемент списка перестанет отвечать на нажатия. При реализации такого вида настраиваемого представления для свойства focusable каждого представления в представлении элемента списка должно быть установлено значение false. Это можно сделать либо в XML, либо в коде. С одним исключением - ImageButton не будет отвечать на настройку фокусируемого поля через XML. Работает только в коде с ImageButton.

<TextView
    android:id="@+id/text1"
    android:focusable="false"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

Или

imageButtonInstance.setFocusable(false);
...