Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 按时间排序来自2个或更多不同来源的帖子_Java_Android_Date_Gridview_Comparator - Fatal编程技术网

Java 按时间排序来自2个或更多不同来源的帖子

Java 按时间排序来自2个或更多不同来源的帖子,java,android,date,gridview,comparator,Java,Android,Date,Gridview,Comparator,我正在用java为android开发一个应用程序 我从有帖子的网站上获得了1、2、3或更多的信息来源 你可以认为我得到了3个不同的rss提要,并将它们添加到一个页面中。 问题是我想用正确的时间安排将它们添加到gridview中。 我的意思是如果在下面这样的网站上创建帖子 2014年8月22日12:00-第一次发布第一个来源 2014年8月22日12:05-第三来源后的第一个来源 2014年8月22日9:00-第一个后第二个来源。 . . 安排应为(最新职位应在顶部) -第二来源第一职位 -第一

我正在用java为android开发一个应用程序

我从有帖子的网站上获得了1、2、3或更多的信息来源

你可以认为我得到了3个不同的rss提要,并将它们添加到一个页面中。 问题是我想用正确的时间安排将它们添加到gridview中。 我的意思是如果在下面这样的网站上创建帖子 2014年8月22日12:00-第一次发布第一个来源 2014年8月22日12:05-第三来源后的第一个来源 2014年8月22日9:00-第一个后第二个来源。 . .

安排应为(最新职位应在顶部)

-第二来源第一职位 -第一来源第一职位 -第三来源第一职位 更多的应该这样分类。 . .

不同的来源发送不同的时间表

如果它发送时间戳 我这样转换时间

Date date = new Date(createdAt*1000);
如果使用特定的时间日期格式发送

我把时间转换成这样的日期

Date date = new Date(createdAt*1000);
部分yyyy-MM-dd或其他内容会因特定的rss源而更改

SimpleDateFormat  format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");  

                        Date date = null;
                        try {
                            date = format.parse(createdTime);
                        } catch (ParseException e) {
                            Log.e("DoDate","Date parse error : "+ e);

                        }  
我将它们添加到正确的时间安排中,如下所示:

 Collections.sort(FeedItemList, new SortFeedByDate());

 //feed is gridview                         
feed.setAdapter(new NewsAdaptor(mLauncher, FeedItemList));
问题是,所有东西都像随机一样放置在gridview中。。。。。 时间和日期不符合预期

我错过了什么吗??比如格林尼治标准时间之类的

还是比较器错了


如果您需要更多关于代码或其他任何信息,请告诉我。我会提供所需的东西

假设您正确解析了日期,您只需执行以下操作即可,而无需转换为日历:

@Override
public int compare(DoFeed_Item lhs, DoFeed_Item rhs) 
{
    return lhs.getTimePosted().compareTo(rhs.getTimePosted());
}

通过在下面一行中将t2与自身进行比较,您希望实现什么:if(t2.compareTo(t2)!=0)。@VaibhavRaj-hmm可能是我弄错了。我会检查并修复它,让您知道它是否解决了我的问题
@Override
public int compare(DoFeed_Item lhs, DoFeed_Item rhs) 
{
    return lhs.getTimePosted().compareTo(rhs.getTimePosted());
}