私はExpandableListViewを持っており、グループをクリックするとgrouppositionを記録したいと思います。残念ながら、以下のコードは、0番目のグループをクリックした場合のように、常に0を返します。Android ExpandableListViewグループの位置は常に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
OK、getItemメソッドとgetItemIdメソッドが有効な値を返すことを確認してください。カスタムアダプタではこのアダプタを見てくださいhttp://developer.android.com/resources/ – Cata