У меня есть ExpandableListView, и я хочу зарегистрировать группу при нажатии на группу. К сожалению, код ниже возвращает всегда 0, как если бы я нажимал на 0-ю группу.Постоянная позиция группы OpenandListView для Android всегда 0
exList.setOnGroupClickListener(new OnGroupClickListener() {
@Override
public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) {
groupPosition = ExpandableListView.getPackedPositionGroup(id);
Log.i("group position", groupPosition + "");
return false;
}
});
У меня также есть longclicklistener о группах и Чайлдс, который работает прямо:
exList.setOnItemLongClickListener(new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
if (ExpandableListView.getPackedPositionType(id) == ExpandableListView.PACKED_POSITION_TYPE_CHILD) {
groupPosition = ExpandableListView.getPackedPositionGroup(id);
...
}
Любые идеи?
Вы используете пользовательский адаптер для ExpandableListView? – Cata
есть. Мои другие слушатели работают правильно – erdomester
ОК, убедитесь, что методы getItem и getItemId возвращают допустимые значения, а не 0 .. (в вашем пользовательском адаптере) вы также можете взглянуть на этот адаптер http://developer.android.com/resources/ samples/ApiDemos/src/com/example/android/apis/view/ExpandableList1.html – Cata