【发布时间】:2019-11-14 03:48:43
【问题描述】:
数据样本:
{
"families" : {
"4039738864" : {
"2019-11-09" : {
"-LtGOEjR-u_RKbXCiO2d" : {
"messageDate" : "2019-11-09",
"messageText" : "Test 1",
"messageTime" : "11:20",
"messageUser" : "dadio"
},
"-LtI2urxYkILHrYZdtmv" : {
"messageDate" : "2019-11-09",
"messageText" : "Hey man how is it going?",
"messageTime" : "19:06",
"messageUser" : "dadio"
},
基本上是创建日期下的消息对象列表。我想要的是撤回 10 天的消息(最近 10 天)。
我试过这个查询:
Query query = familyRef.child(familyKey).orderByKey().startAt(startDate).endAt(endDate).limitToLast(10);
adapter = new FirebaseRecyclerAdapter<ChatMessage, ChatHolder>(options) {
@NonNull
@Override
public ChatHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
final View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.recycler_item, parent, false);
return new ChatHolder(view);
}
@Override
protected void onBindViewHolder(@NonNull ChatHolder chatHolder, int i, @NonNull ChatMessage chatMessage) {
//TODO: .toLocalDateTime() all dates
但这确实将子对象拉回只是实际的日期节点。
有什么想法吗?
【问题讨论】:
-
您只展示了如何声明查询,而不是如何处理数据。请编辑您的问题以显示您附加到查询的侦听器、您获得的输出(日志语句通常效果最好)以及您期望获得的输出。
-
请添加 Frank van Puffelen 的要求,并回复@。
-
@FrankvanPuffelen - 添加了我正在使用的用于监听器的适配器。我得到的数据是日期数组“2019-11-09”、“2019-11-13”等。
-
@AlexMamo 有什么想法吗?
标签: java android firebase firebase-realtime-database firebaseui