我想在时间上对两个json数组stream和stream1进行排序。
每个数组中包含最新时间的记录将首先显示。时间格式类似于分钟前几天前的值
这是我到目前为止的代码:
parseJsonFeed(JSONObject response) {
try {
String stream = pref.getStream();
JSONArray feedArray = response.getJSONArray(stream);
for (int i = 0; i < feedArray.length(); i++) {
JSONObject feedObj = (JSONObject) feedArray.get(i);
FeedItem item = new FeedItem();
item.setId(feedObj.getInt("id"));
item.setName(feedObj.getString("title"));
// Image might be null sometimes
String image = feedObj.isNull("image") ? null : feedObj
.getString("image");
item.setImge(image);
item.setStatus(feedObj.getString("status"));
item.setProfilePic(feedObj.getString("profilepic"));
item.setTimeStamp(feedObj.getString("created_at"));
// url might be null sometimes
String feedUrl = feedObj.isNull("url") ? null : feedObj
.getString("url");
item.setUrl(feedUrl);
feedItems.add(item);
}
// notify data changes to list adapater
listAdapter.notifyDataSetChanged();
} catch (JSONException e) {
e.printStackTrace();
}
String stream2 = pref.getStream2();
if (!stream2.contentEquals("none")) {
try {
JSONArray feedArray = response.getJSONArray(stream2);
for (int i = 0; i < feedArray.length(); i++) {
JSONObject feedObj = (JSONObject) feedArray.get(i);
FeedItem item = new FeedItem();
item.setId(feedObj.getInt("id"));
item.setName(feedObj.getString("title"));
// Image might be null sometimes
String image = feedObj.isNull("image") ? null : feedObj
.getString("image");
item.setImge(image);
item.setStatus(feedObj.getString("status"));
item.setProfilePic(feedObj.getString("profilepic"));
item.setTimeStamp(feedObj.getString("created_at"));
// url might be null sometimes
String feedUrl = feedObj.isNull("url") ? null : feedObj
.getString("url");
item.setUrl(feedUrl);
feedItems.add(item);
}
// notify data changes to list adapater
listAdapter.notifyDataSetChanged();
} catch (JSONException e) {
e.printStackTrace();
}
}
}
我需要将数组排序在一起,先显示每个数组中最新的项目,然后是最近的项目,依此类推。
答案 0 :(得分:0)
使FeedItem类实现Comparable或Comparator(参考this)。然后致电:
Collections.sort(feedItem);
在调用notifyDataSetChanged()
之前