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