gpt4 book ai didi

ExpandableListView - onItemLongClick - getPackedPositionChild 始终返回 0

转载 作者:行者123 更新时间:2023-12-02 21:44:00 25 4
gpt4 key购买 nike

下面的

ExpandableListView.getPackedPositionChild(id) 始终返回 0。组位置是正确的,但我无法获取正确的子位置。下面的代码有什么问题?

@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
if (ExpandableListView.getPackedPositionType(id) == ExpandableListView.PACKED_POSITION_TYPE_CHILD) {
int groupPosition = ExpandableListView.getPackedPositionGroup(id);
int childPosition = ExpandableListView.getPackedPositionChild(id);
// do something
return true;
}
return false;
}

最佳答案

需要一些附加代码。您必须首先将输入的基于整数的平面列表持仓转换为基于长整型的紧缩持仓。测试代码如下:

@Override   
public boolean onItemLongClick( AdapterView<?> parent,
View view,
int position,
long id) {

// convert the input flat list position to a packed position
long packedPosition = m_expandableListView.getExpandableListPosition(position);

int itemType = ExpandableListView.getPackedPositionType(packedPosition);
int groupPosition = ExpandableListView.getPackedPositionGroup(packedPosition);
int childPosition = ExpandableListView.getPackedPositionChild(packedPosition);


// GROUP-item clicked
if (itemType == ExpandableListView.PACKED_POSITION_TYPE_GROUP) {
// ...
onGroupLongClick(groupPosition);
}

// CHILD-item clicked
else if (itemType == ExpandableListView.PACKED_POSITION_TYPE_CHILD) {
// ...
onChildLongClick(groupPosition, childPosition);
}


// return "true" to consume event - "false" to allow default processing
return false;
}

关于ExpandableListView - onItemLongClick - getPackedPositionChild 始终返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19895529/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com