gpt4 book ai didi

android - 如何在 ExpandableList 中使用 ListView?

转载 作者:行者123 更新时间:2023-11-29 02:15:02 24 4
gpt4 key购买 nike

我一直在使用自定义的 ExpandableList(参见下面的示例图片),其中每个项目始终有一个子项。这个 child 由三部分组成。每个部分都有一个标题(红色条),下面是一个空项目或项目列表。此列表的长度会有所不同。

我尝试这样做的第一种方法是在空项目下面添加一个 ViewStub,我用自定义 View 对其进行了膨胀,它的末尾还包含一个 ViewStub,我依次为下一个项目膨胀,从而添加项目递归地创建这种项目列表。遗憾的是,当列表变得太长时,这会导致 StackOverflowError(对于短列表,这非常有效)。

所以在我的第二次尝试中,我尝试使用带有自定义适配器的 ListView。遗憾的是,这个列表只使用了我屏幕的一小部分,其余项目被遮挡在下一部分的标题后面(这个迷你列表看起来可以滚动,因为它旁边出现了第二个滚动条,但它没有滚动。不是我会认为在滚动列表中滚动是一个很好的解决方案,但只是想提一下)。

谁能告诉我如何告诉这个项目列表不可滚动并占用它需要的所有空间(它知道创建子节点时它的大小吗??)或帮助我有一个替代解决方案来解决我的问题? (哦,我考虑过在我的布局中放置大量的 ViewStub,但这看起来很愚蠢而且非常糟糕。如果我错了请纠正我)

alt text

最佳答案

如果我对您的理解是正确的,那么您为什么不直接使用实现了 ExpandableListAdapter 的 ExpandableList + Adapter?这是一种有点丑陋的方法,但它很有效而且没有太多麻烦。

MyAdapter implements ExpandableListAdapter

@Override
public View getChildView(int groupPosition, int childPosition,boolean isLastChild, View convertView, ViewGroup parent) {

}

在这种方法中,您可以简单地确定当前的 childPosition 是标题之一还是子项之一,然后从 xml 中扩充适当的 View 。

关于android - 如何在 ExpandableList 中使用 ListView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4759950/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com