Пустые группы в 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 реагировал на щелчки.