Пустые группы в expandableList не выбираются

Я хочу иметь меню для каждой группы в моем ExpandableList при длительном нажатии на него. Но в данный момент только непустые группы показывают синий фон при длительном нажатии и доступны для выбора. Все пустые группы не реагируют на долгий клик.

Я зарегистрировал список во фрагменте с помощью registerForContextMenu(list) и написал следующий код:

@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
    MenuInflater inflater = getActivity().getMenuInflater();
    inflater.inflate(R.menu.item_task_long_click_menu, menu);
}

@Override
public boolean onContextItemSelected( android.view.MenuItem item) {
    ExpandableListContextMenuInfo info = (ExpandableListView.ExpandableListContextMenuInfo) item.getMenuInfo();

    switch(item.getItemId()) {
        case R.id.itlcm_menu_edit:
            //do something
            break;  
        case R.id.itlcm_menu_remove:
            //do something
            break;
    }
    return true;
}

В адаптере я установил:

@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
    return false;
}

Почему пустые группы нельзя выбрать? Не нашли способ изменить это...

РЕДАКТИРОВАТЬ: я думаю, что это

registerForContextMenu(list)

может группы без детей не регистрируются до длительного клика....

Кто-нибудь?

1 ответ

Решение

Я смог решить это.

Проблема не была в registerForContextMenu(). Проблема заключалась в моем пользовательском ExpandableListAdapter, где я использовал два разных представления для GroupViews (getGroup(...)). Тот, который вообще не реагировал ни на какие нажатия, содержал CheckBox, который перекрывал фокус всего GroupView. И я добавил:

android:focusable="false" 

на CheckBox в XML и вуаля, GroupView с CheckBox реагировал на щелчки.

Другие вопросы по тегам