5

我需要为 android 实现一个 3-level-ExpandableListView。我已经将 ExpListView 作为另一个 ExpListView 的子项完成了。两个可展开的列表已经显示并且还可以展开。但是只能看到第2级,如果我点击第2级分组行,箭头变为展开状态,但是第3级的行是看不到的。认为外部 ExpListView 需要刷新以获得第三级行的空间,并且可能还需要重新计算行数。

在 stackoveflow 上的类似问题上,最多只有一个示例的链接,我不理解/无法适应我的实现的解决方案。

链接是这样的:http: //mylifewithandroid.blogspot.de/2011/02/3-level-expandable-lists.html

有没有更简单的解决方案,或者任何人都可以用简单的方式解释它。上面链接中的代码对我没有帮助。

解释我到目前为止所做的事情:我在 ExpandableListView 和 getGroupView() 上设置了 BaseExpandableListAdapter 我正在使用 layoutInflater 并编写了一个 ViewHolder ,它为每一行保存一个 TextView (作为第一级文本)。在 getChildView() 中,我在第二个 ViewHolder 中使用了另一个 ExpandableListView。在那个 ExpListView 上,我还设置了一个 BaseExpandableListAdapter 并为此适配器实现了 getGroupView() 和 getChildView()。使用 TextView 完成此操作,如为组(作为 2 级文本)和此处的子级(作为 3 级文本)描述的。

如果需要,我明天可以发布一些代码,需要先在这里准备。但是一个好的教程也会帮助我。

谢谢你。

4

1 回答 1

0

尝试在 getChildView() 中使用自定义 expandableListView

class YourCustomExpandableListView extends ExpandableListView { 
    public YourCustomExpandableListView (Context context) {
       super(context);     
    }

    protected void onMeasure(int width, int height) {
        /*
         * Adjust height
         */
        height = MeasureSpec.makeMeasureSpec(500, MeasureSpec.AT_MOST);
        super.onMeasure(width, height);
    }  
}

看看这里

也可以在这里找到完整的解决方案

于 2013-04-19T15:20:12.437 回答