【问题标题】:FirebaseUI recyclerView how to add to the top?FirebaseUI recyclerView如何添加到顶部?
【发布时间】:2018-09-29 00:57:26
【问题描述】:

我将 FirebaseUI 与 RecyclerView 一起使用。

我需要插入的新值位于卡片顶部。 在一个简单的 RecyclerView 中,我知道要做到这一点,我们每次都将新项目添加到 arrayList 实例的位置 0。 但是对于 FirebaseUI,没有 arrayList,并且使用 pushsetValue 方法我们将值添加到 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


【解决方案1】:

当您在数据库中插入新项目时,请确保它具有时间戳。并查询该项目并使用时间戳的值对其进行排序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-15
    • 1970-01-01
    • 2017-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多