【发布时间】:2018-09-29 00:57:26
【问题描述】:
我将 FirebaseUI 与 RecyclerView 一起使用。
我需要插入的新值位于卡片顶部。
在一个简单的 RecyclerView 中,我知道要做到这一点,我们每次都将新项目添加到 arrayList 实例的位置 0。
但是对于 FirebaseUI,没有 arrayList,并且使用 push 和 setValue 方法我们将值添加到 JSON 树。
这是我的代码的 sn-p:
private void writeNewPost(String title, String message) {
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference();
String key = myRef.child("reports").push().getKey();
Report report = new Report(title, message, key);
Map<String, Object> postValues = report.toMap();
Map<String, Object> childUpdates = new HashMap<>();
childUpdates.put("/reports/" + key, postValues);
childUpdates.put("/user-reports/" + userID + "/" + key, postValues);
myRef.updateChildren(childUpdates);
}
希望你能帮忙,谢谢。
【问题讨论】:
-
您可以通过 desc 查询使用 order
-
@Ganesh:Firebase 不提供降序排序。
-
FirebaseRecyclerAdapter 将按底层位置/查询的顺序显示数据。除此之外,我没有办法对其进行重新排序。但是,如果您想简单地颠倒顺序,有几种方法可以做到这一点。我见过的最简单的:github.com/firebase/FirebaseUI-Android/issues/…
-
我很确定,这对你有用stackoverflow.com/questions/27555686/…
标签: android firebase firebase-realtime-database firebaseui