Tengo un ExpandableListView y quiero registrar la posición de grupo al hacer clic en un grupo. Desafortunadamente, el código a continuación siempre arroja 0, como si estuviera haciendo clic en el grupo número 0.Android ExpandableListView posición de grupo siempre 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;
}
});
también tengo una longclicklistener de los grupos y del niño que trabaja derecha:
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);
...
}
¿Alguna idea?
¿Utiliza un adaptador personalizado para ExpandableListView? – Cata
sí. Mis otros oyentes funcionan bien – erdomester
bien, asegúrese de que los métodos getItem y getItemId devuelvan valores válidos y no 0 .. (en su Adaptador personalizado) también puede ver este adaptador http://developer.android.com/resources/ samples/ApiDemos/src/com/example/android/apis/view/ExpandableList1.html – Cata