Android ExpandableListView组位置始终为0

erd*_*ter 6 android expandablelistview

我有一个ExpandableListView,我想在点击一组时记录groupposition.不幸的是,下面的代码总是返回0,好像我点击了第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;
    }

  });
Run Code Online (Sandbox Code Playgroud)

我也有一个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);
...
}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Der*_*rzu 1

使用监听器OnGroupExpandListener,方法onGroupExpand的参数是Group在ExpandableListView中的位置。

像那样:

listView = (ExpandableListView) findViewById(R.id.expandableListView);
listView.setOnGroupExpandListener(new OnGroupExpandListener() {
    @Override
    public void onGroupExpand(int groupPosition) {
        Log.d(TAG, "pos " + groupPosition);
    }
});
Run Code Online (Sandbox Code Playgroud)