Отключить свертывание ExpandableListView - PullRequest
16 голосов
/ 11 августа 2010

Поведение по умолчанию ExpandableListView состоит в том, чтобы свернуть группу при нажатии на ее заголовок. Можно ли предотвратить это?

Я пробовал:

  • Установка OnTouchListener в списке. Это мешает прокрутке.
  • Установка OnGroupClickListener в списке (в onCreate()). Это работает для всех кликов после первого.

Кто-нибудь еще достиг этого? Почему OnGroupClickListener может пропустить первый щелчок?

Заранее спасибо за ваши предложения.

Ответы [ 4 ]

31 голосов
/ 12 ноября 2012

Вы можете игнорировать щелчок по групповым элементам, подобным этому:

mMyExpandableListView.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() {
  @Override
  public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) {
      // Doing nothing
    return true;
  }
});
15 голосов
/ 11 сентября 2011

Возможно, уже слишком поздно, я использую onGroupCollapseListener в упражнении и реализую метод onGroupCollapse. (ExpandView - ExpandableListView)

@Override
public void onGroupCollapse(int collapseIndex) {
    expandView.expandGroup(collapseIndex);
}
3 голосов
/ 19 февраля 2016

Вы можете использовать этот код для элемента, для которого вы хотите отключить, нажав на: {convertView.setClickable(false);}

2 голосов
/ 12 августа 2010

Кажется, проблема была в том, что в заголовке группы есть и фокусируемый элемент, и набор OnGroupClickListener.Удаление слушателя решило мою проблему.

...