【发布时间】:2019-05-01 14:41:17
【问题描述】:
我有一个如下所示的数据库:
{
firstitem : {
"name" : "first_item_name",
"date" : "29/11/2018",
"user" : "random user",
"url" : "My Url",
"tag" : "firstitem"
},
seconditem : {
"name" : "second_item_name",
"date" : "20/11/2018"
"user" : "another user",
"url" : "a url",
"tag" : "seconditem"
},
thirditem : {
"name" : "third_item_name",
"date" : "20/11/2017"
"user" : "another user",
"url" : "a url",
"tag" : "thirditem"
}
ect....
}
我希望能够选择按日期排序,从最新开始,从最旧开始降序排列。我怎样才能做到这一点?
这是我目前调用 firebase 字符串的方法:
if (dataSnapshot.exists()) {
Log.i("Event", "Added");
Firebase_Strings dlStrings = dataSnapshot.getValue(Firebase_Strings.class);
p9p_strings.DOCUMENTARY_NAME.add(dlStrings.name);
p9p_strings.DOCUMENTARY_SYNOPSIS.add(dlStrings.about);
p9p_strings.DOCUMENTARY_URL.add(dlStrings.url);
p9p_strings.DOCUMENTARY_UPLOADED.add(dlStrings.date);
p9p_strings.DOCUMENTARY_TAG.add(dlStrings.tag);
【问题讨论】:
-
您的日期格式不适合排序。考虑存储整数时间戳而不是格式化字符串。
-
将所有数据放入arraylist,然后使用提供Comparator的Collection排序
标签: java android firebase firebase-realtime-database