ExpandablieListView平面列表位置函数在前一个组折叠时给出错误的位置

时间:2016-08-24 03:35:15

标签: android expandablelistview

我希望得到孩子的平面列表位置,为此我通过以下代码得到平面列表位置:

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;
    }

0 个答案:

没有答案
相关问题