【发布时间】:2013-11-28 12:58:45
【问题描述】:
我有两个适配器,我想将它们合并到一个 ListView 中。所以我可以分别显示一个。 示例
Adapter1 , Adapter2.
ListView
getView(position = 0) -> from Adapter1
getView(position = 1) -> from Adapter2
getView(position = 2) -> from Adapter1
getView(position = 3) -> from Adapter2
getView(position = 4) -> from Adapter1
我看到 Commonsware 的 Merge Adapter 它以与您添加适配器相同的顺序显示项目。示例:mergeadapter.addAdapter(adapter1);mergeadapter.addAdapter(adapter2);然后它将显示所有适配器 1 项目,然后显示所有适配器 2 项目,没有办法像我写的例子一样从每个项目上显示。
【问题讨论】:
-
您不应为此使用两个不同的适配器。您应该使用一个适配器,并结合两者的数据源。
-
@RGraham 有时您只有两个适配器,因此您无法合并数据
-
@Alex True,但
adapter.getItem(position)应该允许您从现有适配器填充新源。从代码的角度来看,我认为Adapter1和Adapter2的合并不再是其中之一,而是现在Adapter3。当然,也许有一个我没有想到的场景 -
@RGraham。是的,我没有意识到有更多的要求。
标签: android listview android-adapter