【发布时间】:2022-02-10 22:37:07
【问题描述】:
我想通过 eventDate 订购我的 recyclerview,但我已经在使用 orderByChild。 怎么做?
对不起,如果我解释得不好,但在 SQL 上我想要实现的是:
SELECT * FROM Event WHERE eventOrganizer=stringOrganizer ORDER BY eventDate ASC;
这是代码:
Query query = databaseReferenceEvent.orderByChild("eventOrganizer").equalTo(stringOrganizer);
FirebaseRecyclerOptions <ModelEvent> options = new FirebaseRecyclerOptions.Builder<ModelEvent>()
.setQuery(query, snapshot -> new ModelEvent(
Objects.requireNonNull(snapshot.child("eventID").getValue()).toString(),
Objects.requireNonNull(snapshot.child("eventOrganizer").getValue()).toString(),
Objects.requireNonNull(snapshot.child("eventName").getValue()).toString(),
Objects.requireNonNull(snapshot.child("eventDate").getValue()).toString(),
Objects.requireNonNull(snapshot.child("eventStatus").getValue()).toString()))
.build();
adapter = new FirebaseRecyclerAdapter<ModelEvent, ViewHolderEvent>(options) {
@NonNull
@Override
public ViewHolderEvent onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.list_attendance, parent, false);
return new ViewHolderEvent(view);
}
【问题讨论】:
-
我不确定我是否理解。你想颠倒顺序吗?其次,按另一个字段排序?
-
也许您可以更改可以对您的项目进行排序的内容。您可以根据 eventDate 排序
-
请检查重复的答案,看看如何解决这两种情况。
-
我更改了问题以使其更简单。我只想按日期排序,但问题是我将 orderByChild 用于 WHERE 函数。
标签: android firebase-realtime-database android-recyclerview