在 ExpandableListView 中,如何在子结果的末尾再显示一行?

Posted

技术标签:

【中文标题】在 ExpandableListView 中,如何在子结果的末尾再显示一行?【英文标题】:In an ExpandableListView, how can I show one additional line at the end of the child results? 【发布时间】:2010-10-30 13:17:54 【问题描述】:

我创建了一个自定义ExpandableListAdapter,一切正常。我想做的是在每个组的末尾添加不同类型的孩子。我尝试在getChildrenCount() 数字上加1,然后在getChildView() 方法中测试isLastChild,但这似乎不起作用。

如果一个小组有三个孩子,我的工作如下所示:

团体 正常儿童 正常儿童 正常儿童

但我真的很喜欢这样的东西:

团体 正常儿童 正常儿童 正常儿童 备用子

这个想法是AlternateChild 可以链接到有关该组的更多信息。有什么想法吗?

编辑: ListView 有 addFooterView(),这将允许您将页脚添加到整个 ListView...想知道如何将它们添加到 ExpandableListView 的子项,或者是否有可能

【问题讨论】:

【参考方案1】:

也许您可以尝试一种稍微不同的方法。

与其尝试直接向 ListView 添加一个额外的项目,不如尝试使用“isAlternateChild”标志(或子类化NormalChild 或创建一个IChild 接口)将一个“AlternateChild”对象添加到底层数据源使用NormalChildAlternateChild 扩展。

然后在getChildView 中,您可以检查视图中显示的对象是正常的还是替代的,并相应地创建或填充适当的视图类型。

通过将额外的对象直接添加到底层数据/列表中,您可以让 ExtendedListView 正常工作。作为额外的好处,这意味着您可以使 AlternateChild 数据动态化,并通过修改相应的对象轻松更改视图中显示的数据。

【讨论】:

这几乎就是我所做的。只是觉得应该有更好的方法。【参考方案2】:

在我看来这是一个更好的answer

如果需要,我试图在每个组的最后一个孩子下方放置一个操作栏,这非常有用。由于操作栏与我的数据无关,因此我无法使用相同的对象。

【讨论】:

以上是关于在 ExpandableListView 中,如何在子结果的末尾再显示一行?的主要内容,如果未能解决你的问题,请参考以下文章

在键盘中单击完成时如何避免调用 ExpandableListView 中的 getChildView

在 ExpandableListView 中,如何在子结果的末尾再显示一行?

如何在expandablelistview中折叠组视图上方和下方的所有子视图?

如何从 ExpandableListView 的子项中删除分隔符?

如何更改expandableListView的箭头颜色? [关闭]

如何检查组是不是在 Android ExpandableListView 中展开或折叠?