如何用时间

时间:2016-11-22 19:33:34

标签: java android listview

我想在时间上对两个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();
                }
            }

        }

我需要将数组排序在一起,先显示每个数组中最新的项目,然后是最近的项目,依此类推。

1 个答案:

答案 0 :(得分:0)

使FeedItem类实现Comparable或Comparator(参考this)。然后致电:

Collections.sort(feedItem);

在调用notifyDataSetChanged()

之前