展开可展开列表视图中的所有子项

我想展开所有的孩子,而可扩展的列表视图是填充。 目前我的代码如下所示:

ExpandableListView listView = (ExpandableListView) findViewById(R.id.view); int count = viewAdapted.getGroupCount(); for (int position = 1; position <= count; position++) listView.expandGroup(position - 1); 

这很丑陋。 有没有更好的方法来做到这一点?

您可以在自定义适配器的getGroupView中展开它:

 @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; } 

格鲁克!

将这些代码放在适配器上将使扩展列表保持打开状态,并禁用其closuresfunction。

 ExpandableListView mExpandableListView = (ExpandableListView) parent; mExpandableListView.expandGroup(groupPosition); 

这可能是一个小工作,但工作应该如何。 它打开所有组(在开始),可以随时closures

  for ( int i = 0; i < groupList.size(); i++ ) { groupList.expandGroup(i); } 

注意:在将适配器设置为可扩展视图之后放置此代码,否则可能会导致错误。 希望能帮助到你。

先把这个代码放在你的oncreate方法中,然后填充适配器

  int count = adapter.getGroupCount(); for ( int i = 0; i < count; i++ ) listView.expandGroup(i); 

扩大所有的群体

 for(int i=0; i < myAdapter.getGroupCount(); i++) myExpandableListView.expandGroup(i); 

如果你想让他们unCollapseable。

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