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 (inonCreate()
). 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.
精彩评论