我希望得到孩子的平面列表位置,为此我通过以下代码得到平面列表位置:
int index = expandableListView.getFlatListPosition(ExpandableListView.getPackedPositionForChild(groupPosition, childPosition))
当且仅当所有组都扩展时,它才能正常工作。一个或两个团体崩溃时的问题。当一个或两个先前组崩溃时,同一组的同一个孩子的位置发生了变化。
例如,如果第一组儿童被折叠时第二组儿童的位置为3。扩展第一组后,第二组儿童(与之前选择的同一个孩子)的位置发生变化。
实际上,您可以看到我的代码,请运行我的代码以便正确理解。
@Override
public boolean onChildClick(ExpandableListView expandableListView, View view, int i, int i1, long l) {
int index = expandableListView.getFlatListPosition(ExpandableListView.getPackedPositionForChild(i, i1));
Toast.makeText(getApplicationContext(), String.valueOf(index), Toast.LENGTH_SHORT).show();
expandableListView.setItemChecked(index, true);
return true;
}