开发者

Disable collapsing of ExpandableListView

The default behavior of ExpandableListView is to collapse a group when its header is clicked. Is it possible to prevent this from happening?

I've tried:

  • Setting OnTouchListener on the list. This interferes with scrolling.
  • Setting an OnGroupClickListener on the list (in onCreate()). This wor开发者_StackOverflowks for all clicks after the first.

Has anyone else accomplished this? Why might the OnGroupClickListener miss the first click?

Thanks in advance for your suggestions.


You can ignore click on group items like this:

mMyExpandableListView.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() {
  @Override
  public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) {
      // Doing nothing
    return true;
  }
});


Maybe It`s too late,I use onGroupCollapseListener in the activity and implement onGroupCollapse Method.(expandView is ExpandableListView)

@Override
public void onGroupCollapse(int collapseIndex) {
    expandView.expandGroup(collapseIndex);
}


You can use this code on the item for which you want to disable clicking on: {convertView.setClickable(false);}


It seems the problem had to do with there being both a focusable element in the group header and an OnGroupClickListener set. Removing the listener solved my problem.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜