在可展开列表视图中对Json对象数组列表进行排序

时间:2014-08-11 08:33:17

标签: android json expandablelistview

我正在使用Json对象数组列表来显示数据。现在我想使用一个可扩展的列表视图,其中数据根据对象中的日期进行分类。如何根据日期对子列表进行分类。

json对象包括接送日期和乘客详细信息。我想排序并制作一个可扩展的列表视图,其中包括主列表中的日期和根据日期排序的子列表中的乘客详细信息。

有些物品具有相同的预约日期,因此需要将它们分成一个。

这是json对象:

2 个答案:

答案 0 :(得分:0)

我不完全确定你在问什么,但是如果你试图对以下形式的JSON对象数组进行排序:[{},{},..,{}]那么你可以使用Array.sort方法构建到JavaScript中,并传递一个比较函数,该函数描述了如何按日期对对象进行排序。

例如:

假设您有这样的对象:

var people = [
{
  "name": John,
  "birthday": new Date(1990, 8, 10);
},
{
  "name": Mark,
  "birthday": new Date(1991, 10, 17);
},
{
  "name": David,
  "birthday": new Date(1991, 7, 26);
}
];

现在要对此数组进行排序,您只需执行以下操作:

people.sort(function(a,b) {
  return a.birthday - b.birthday;
});

现在people数组将按日期排序。

有关详细信息,请参阅此Mozilla Doc

答案 1 :(得分:0)

我对Android SDK不太熟悉,但是如果您只需按日期对包含JSON对象的ArrayList进行排序,我可以帮助您完成该部分。

我希望你的对象在ArrayList中使用这个tutorial解析你的JSON,并且 然后使用解析的日期在对象中创建Date字段,然后让对象实现Comparable接口,如此tutorial中所述。然后,您可以使用Collections.sort(<list>)对列表进行排序。