我需要为android实现一个3级 - ExpandableListView。我已经使用ExpListView作为另一个ExpListView的子节点。两个可扩展列表已经显示,也可以展开。但是只看到第二级,如果我点击第二级组行,箭头会变为展开状态,但第三级的行无法看到。认为外部ExpListView需要刷新以获取第3级行的空间,并且可能还需要重新计算行计数。
关于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(作为第二级文本)和此处也是子级(作为第3级文本)完成此操作。
如果需要,我明天可以发布一些代码,需要先在这里准备。但是一个好的教程也会帮助我。
谢谢。
答案 0 :(得分:0)
尝试在getChildView()
中使用自定义expandableListViewclass 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);
}
}
看看here
还可以找到完整的解决方案here