【发布时间】:2015-09-23 12:15:32
【问题描述】:
我有以下问题,我不太确定如何解决它。我从几个不同的服务器请求数据,每个服务器返回一个不同类型的对象列表(每个服务器都有它自己特定的唯一 POJO 对象类型) - 但是所有这些对象列表的共同点是所有对象都有一个日期参数。然后,我需要将所有列表中的对象显示为一个巨大的混合列表供用户使用,所有各种对象都按日期排序。
我制作了一个扩展 baseadapter 的适配器,并且我已将所有对象数组列表传递给该适配器 - 但是如何按日期对所有这些对象列表进行排序并将它们全部显示在一起?我可以创建一个具有所有其他对象属性的“超级对象”,然后将该超级对象的一个排序数组传递给适配器,但这似乎是一个混乱而粗略的解决方案。是否有或多或少优雅的方式来做到这一点?
public class someAdapter extends BaseAdapter
{
...
public someAdapter(ArrayList<ObjectOne> objectOneArray, ArrayList<ObjectTwo> objectTwoArray) {
if (objectOneArray != null) {
this.localObjectOneList.addAll(objectOneArray);
}
...
}
}
对象类型示例:
public class ObjectOne implements Serializable {
private String date;
private String someFieldOne;
private String someFieldTwo;
...
//getters and setters
...
}
重申一下 - 最终列表必须是所有不同对象类型的混合,按日期顺序排列。
【问题讨论】:
-
你应该接受能解决你问题的答案。