Home » Android » android – How to disable the collapsing of an ExpandableListView?

android – How to disable the collapsing of an ExpandableListView?

Posted by: admin April 23, 2020 Leave a comment

Questions:

I would like to implement a ExpandableListView which should be expandable only after all the values have been set up within the adapter. Also I would like to be able to disable the collapsing of the expander.

Can I achieve this within an Android XML Layout?

How to&Answers:

You can define a OnGroupClickListener which returns true, like so:

expandableList.setOnGroupClickListener(new OnGroupClickListener() {
  @Override
  public boolean onGroupClick(ExpandableListView parent, View v,
                              int groupPosition, long id) { 
    return true; // This way the expander cannot be collapsed
  }
});

Answer:

There is no way that I know of this to be done from xml.

You could add an OnGroupClickListener to the ExpandableListView, and consume its event if the group is already expanded:

myExpandableListView.setOnGroupClickListener(new OnGroupClickListener()
{
    @Override
    public boolean onGroupClick(ExpandableListView parent, 
        View v, int groupPosition, long id)
    {
        return parent.isGroupExpanded(groupPosition);
    }
});