I would like to expand all children while the expandable list view is populated. Currently my code looks like this:
ExpandableListView listView = (Expandable
I have tried the responses listed but i found that i can use the getGroupCount() method to get the number of groups.
Using this method i can iterate and expand every group of my ExpandableListView
for (int i = 0; i < myExpandableListView.getExpandableListAdapter().getGroupCount(); i++) {
//Expand group
myExpandableListView.expandGroup(i);
}
first fill the adapter than put this code in your oncreate method
int count = adapter.getGroupCount();
for ( int i = 0; i < count; i++ )
listView.expandGroup(i);
Expanding all groups
for(int i=0; i < myAdapter.getGroupCount(); i++)
myExpandableListView.expandGroup(i);
if you wish to make them unCollapseable.
myExpandableListView.setOnGroupClickListener(new OnGroupClickListener() {
@Override
public boolean onGroupClick(ExpandableListView parent, View v,int groupPosition, long id) {
return true;
}
});
You can expand it in getGroupView in your custom adapter:
@Override
public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
View v = super.getGroupView(groupPosition, isExpanded, convertView, parent);
ExpandableListView mExpandableListView = (ExpandableListView) parent;
mExpandableListView.expandGroup(groupPosition);
return v;
}
Gluck!
putting this code on your adapter will make the expandlist to stay open, and disables its closing function.
ExpandableListView mExpandableListView = (ExpandableListView) parent;
mExpandableListView.expandGroup(groupPosition);
this may be a little work around but works how it should be. It opens all group ( at start ) and can be close any time
for ( int i = 0; i < groupList.getCount(); i++ ) {
groupList.expandGroup(i);
}
NOTE : put this code after setting adapter on your expandable view, or else it may cause error. Hope it helps.