Possiedo un ExpandableListView e desidero registrare la groupposition quando si fa clic su un gruppo. Sfortunatamente il codice qui sotto restituisce sempre 0, come se stessi facendo clic sullo 0 ° gruppo.Android ExpandableListView posizione di gruppo sempre 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;
}
});
Ho anche un longclicklistener sui gruppi e bambino che funziona a destra:
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);
...
}
Tutte le idee?
Si utilizza un adattatore personalizzato per ExpandableListView? – Cata
si. I miei altri listener funzionano correttamente, – erdomester
ok, assicurati che i metodi getItem e getItemId restituiscano valori validi e non 0 .. (nell'adattatore personalizzato) potresti anche dare un'occhiata a questo adattatore http://developer.android.com/resources/ samples/ApiDemos/src/com/example/android/apis/view/ExpandableList1.html – Cata