【发布时间】:2013-07-21 12:28:28
【问题描述】:
我正在尝试从给定的未知大小或级别的类别列表创建类别树。所以我正在尝试创建一个可以包含 2+ 个级别的通用可扩展列表。 一般的想法是在其布局中添加另一个 ExpandableListView 到每个有孩子的孩子。问题是第二层打不开,看起来它把它渲染到了孩子或其他东西上。这是结果的一些屏幕截图:
这是打开之前的样子
打开第一个选项后:(应该是空的)
现在打开第二个:(有 4 个孩子,其中一个有自己的孩子)
如您所见,第三个选项看起来像是在单击打开后呈现了另一个选项或其他内容:
它除了改变箭头的状态之外什么都不做。至少它会尝试打开它...
代码如下:
CatAdapter.java:(扩展 BaseExpandableListAdapter) http://pastebin.com/6yUTkMbJ
Category.java: http://pastebin.com/E7yWwpna
catitem.xml: http://pastebin.com/G5MPT3Ua
用法: http://pastebin.com/Wk0FqJhn
对不起,这个问题太长了,我尽量说清楚。
提前致谢!对不起我的英语不好!
编辑:
我最终为这个任务制作了一个自定义视图,谢谢大家的回答!
【问题讨论】:
-
嗨,您介意分享您设法制作或可能分享的自定义视图片段吗?
-
你解决了你的问题我也有同样的问题 stackoverflow.com/questions/18765638/... 如果你解决了你的问题,请帮助我。
-
我已经设法解决了创建自定义视图并实现自定义 OnDraw() 的问题。
-
你能更新你的自定义视图代码和/或解释一下你的解决方案吗?我有点绝望。我遗漏了一些东西,因为我的 3 级可扩展列表视图无法按预期工作。我在 getChild 中膨胀的第二个列表行与父级不匹配,在单击任何节点时我也遇到了一些麻烦......提前非常感谢!
-
我很久以前丢失了这段代码,抱歉。但基本上你只需要实现自己的自定义视图并通过覆盖 onDraw() 来绘制所有内容,你可以在 android 官方文档中阅读它。
标签: java android expandablelistview