【发布时间】:2015-08-04 18:09:53
【问题描述】:
我有一个自定义列表适配器。适配器由 List<CustomObject> itemsOfList
备份
工作正常。
我有时需要显示一个列表项,它的布局与列表中的其余项目完全不同,实际上只是文本(就像列表中某处的“标题”)。
我做了以下方法。
在我的适配器的getView 实现中,如果作为参数传递的position 是例如7 然后我返回我的自定义视图。
除了以下小问题外,这也可以正常工作:
我从列表中跳过了一个项目。
在我的getView 代码中:
CustomObject o = itemsOfList.get(position);
填充我列表中的项目。
但是当getView 以位置7 被调用时,我返回了我的自定义视图。然后下一个电话是位置 8 但这意味着我从不这样做:
CustomObject o = itemsOfList.get(7);
我该如何解决这个问题?
【问题讨论】:
-
我不明白 - 我认为您忽略了添加一条信息来连接这些点。根据您的描述,完全不清楚 7 的动机是什么,即为什么您的适配器返回您的自定义视图以响应项目列表中的 index - 在我看来,只有对 index 采取行动才有意义i>值项,不在索引上。
-
@Durandal:我想在第 7 位添加类似标题/横幅的内容
-
所以本质上你将模型的一部分(标题应出现的索引)放入适配器中?那是错误的设计-您应该将一个特殊值放入列表中,并让适配器对该特殊值进行操作-问题就消失了。
-
@Durandal:我不确定我是否理解您的建议。您能否通过一个小示例将其发布为答案和替代方法?
标签: java android android-fragments android-listview android-adapter