【发布时间】:2021-11-30 09:08:43
【问题描述】:
我从 firebase 获取对象,有两种方法可以获取对象
这个
text1
15.10.2021
text3
12.10.2021
text2
29.11.2021
text4
1.1.2022
或者这个
{text = text1 , date = 15.10.2021}
{text = text3 , date = 12.10.2021}
{text = text2 , date = 29.11.2021}
{text = text4 , date = 1.1.2022}
我需要按日期对这个对象进行排序
text3 12.10.2021
text1 15.10.2021
text2 29.11.2021
text4 1.1.2022
我正在尝试将所有内容添加到列表中,但我不知道如何对它们进行排序。 在列表中它看起来像这样
[text1, 15.10.2021, text3, 12.10.2021, text2, 29.11.2021, text4, 1.1.2022]
我正在为 RecyclerView 做这件事,最初我是这样从 Firebase 获取日期和字符串的
List<String> reminder = new ArrayList<>();
List<String> date = new ArrayList<>();
dbf.child("Reminders").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
reminder.clear();
date.clear();
for(DataSnapshot child2 : snapshot.getChildren()) { // getting a data from DB to ArrayList for dropping into Adapter
for(DataSnapshot tChild : child2.getChildren()) {
if (tChild.getKey().equals("text")) {
reminder.add(tChild.getValue().toString());
rem = reminder.toArray(new String[reminder.size()]); // rem = String[]
}
if (tChild.getKey().equals("date")) {
date.add(tChild.getValue().toString());
dat = date.toArray(new String[date.size()]); // dat = String[]
}
}
mainRowAdapter rAdapter = new mainRowAdapter(MainActivity.this, rem,dat);
rv.setAdapter(rAdapter);
rv.setLayoutManager(new LinearLayoutManager(MainActivity.this));
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
然后在适配器类中使用方法setText()
所以,上面的问题
【问题讨论】:
标签: android sorting firebase-realtime-database