Tôi có một danh sách ExpandableListView và tôi muốn đăng nhập vào trang web khi nhấp vào một nhóm. Rất tiếc, mã bên dưới trả về luôn 0, như thể tôi đang nhấp vào nhóm thứ 0.Vị trí nhóm có thể mở rộng của AndroidViewView luôn ở trạng thái 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;
}
});
Tôi cũng có một longclicklistener trên các nhóm và Childs trong đó hoạt động đúng:
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);
...
}
Bất kỳ ý tưởng?
Bạn có sử dụng Bộ điều hợp tùy chỉnh cho ExpandableListView không? – Cata
có. Những người nghe khác của tôi hoạt động đúng cách – erdomester
ok, hãy đảm bảo phương thức getItem và getItemId của bạn trả lại giá trị hợp lệ và không phải 0 .. (trong Bộ điều hợp tùy chỉnh của bạn), bạn cũng có thể xem bộ điều hợp này http://developer.android.com/resources/ mẫu/ApiDemos/src/com/example/android/apis/view/ExpandableList1.html – Cata