ExpandableListView 组视图 展开默认

Posted

技术标签:

【中文标题】ExpandableListView 组视图 展开默认【英文标题】:ExpandableListView Group View Expand Default 【发布时间】:2011-08-30 04:12:24 【问题描述】:

我已经完美开发了ExpandableListView。

在我的 ExpandableListView 中有五个组。第一次加载然后折叠所有五个组。这是默认的。

现在我的问题是第一次加载可扩展列表视图,当时 2 个组正在展开,其他 3 个组正在折叠。

所以请指导我怎么做?

【问题讨论】:

您想在列表加载时打开 5 个组中的 2 个? 是的。现在我得到了解决方案。 【参考方案1】:

现在我得到了解决方案,它会完美运行..请使用这个..

ExpandableListView Exlist;

Exlist.expandGroup(0);
Exlist.expandGroup(1);

【讨论】:

这很好用!我希望我的第一部分在应用程序启动时默认展开,所以我简单地添加了 MyListName.expandGroup(0);进入 onCreate 并且效果很好!谢谢! 如何让expandableListview中的所有列表展开? 确保在setAdapter 之后设置此项。并且您需要将其设置为与标题相同的索引时间。 setAdapter 之前或之后放置此代码并不重要。但是你应该把它放在你为适配器设置数据之后。如果您设置适配器然后通过网络加载数据,这很有意义【参考方案2】:

我根据 Nikhil 的 answer 构建了这个 sn-p。认为其他人可能会发现它也很有用。仅当您使用 BaseExpandableListAdapter 时才有效。精灵

ExpandableListView elv = (ExpandableListView) findViewById(R.id.elv_main);
elv.setAdapter(adapter);
for(int i=0; i < adapter.getGroupCount(); i++)
    elv.expandGroup(i);

【讨论】:

如何展开 3 级 expandableListView ? thanq yar...帮助了我 这个答案最好,因为组数可能是动态的 @CrazyLearner:不,Op专门要求另一种情况:应该打开2个组,而不是全部 我尝试了这个解决方案。但在我的可扩展列表视图中,只有第一个和两个组之间只扩展了不是全部。我该如何解决?【参考方案3】:

这是一个完美的解决方案,它会自动增加

ExpandableListView elv = (ExpandableListView) findViewById(R.id.elv_main);
elv.setAdapter(adapter);
for(int i=0; i < adapter.getGroupCount(); i++)
    elv.expandGroup(i);

但这是基于物品的位置

ExpandableListView Exlist;
Exlist.expandGroup(0);// first item of listview
Exlist.expandGroup(1);//second item of listview

【讨论】:

【参考方案4】:

扩展可展开列表视图的完美解决方案

ExpandableListAdapter expandableListAdapter;
ExpandableListView expandableListView;

expandableListView.expandGroup(0);
expandableListView.expandGroup(1);

expandableListAdapter.notifyDataSetChanged();

【讨论】:

以上是关于ExpandableListView 组视图 展开默认的主要内容,如果未能解决你的问题,请参考以下文章

ExpandableListView - 自动折叠组

将焦点保存在 ExpandableListView 中的展开组上

android ExpandableListView详解

GetChildView 在折叠和展开 ExpandableListView 时得到刷新

如何在可展开的列表视图中设置不同的组指示器图像?

使用ExpandableListView做一个类似QQ列表效果图