【问题标题】:How to sort in descending chronological order images from Firebase?如何从 Firebase 中按时间顺序降序排序图像?
【发布时间】:2017-03-30 21:29:22
【问题描述】:

我正在尝试在 recyclerview 中按时间顺序对上传的照片进行排序,但由于某种原因我的代码不起作用。

recyclerview的适配器代码:

 private void setupAdapter() {
    mPostAdapter = new FirebaseRecyclerAdapter<Post, PostHolder>(
            Post.class,
            R.layout.row_post,
            PostHolder.class,
            FirebaseUtils.getPostQuery()
    ) {

utils类的代码:

 public static DatabaseReference getPostRef() {
    return FirebaseDatabase.getInstance().getReference("posts");
}
public static Query getPostQuery() {
    return getPostRef().orderByChild("timeCreated");
}
public static DatabaseReference getMyPostRef() {
    return FirebaseDatabase.getInstance().getReference("my_posts")
            .child(getCurrentUser().getEmail().replace(".", ","));
}

这是数据库结构:

{
  ...
  "my_posts" : {
    "a@aa,com" : {
      "-KgHOJHOGHAPGyBuVbF5" : true
    },
    "afaf@sg,com" : {
      "-KgHXFz3NoshQNKbXz53" : true,
      "-KgHZJFpkQ7lxx7HcxEV" : true
    },
    ...
  },
  "posts" : {
    "-KgHOJHOGHAPGyBuVbF5" : {
      "numComments" : 0,
      "numLikes" : 0,
      "postId" : "-KgHOJHOGHAPGyBuVbF5",
      "postImageUrl" : "post_images/image:47620",
      "postText" : "",
      "timeCreated" : 1490662278306
    },
    ...
  },
  "posts_liked" : {
    "dskato0603@gmail,com" : {
      "-KgWIDHRyVoX4kHQlCvk" : true
    }
  },
  "user_record" : {
    "a@aa,com" : {
      "posts" : [ "-KgHOJHOGHAPGyBuVbF5" ]
    },
    "jxjsjskss@kfks,com" : {
      "comments" : [ "-KgLRZCT7A_OIZXwa5RD", "-KgLRaAybYi9p1AnO5tN", "-KgMUAKOc30PBRwm5icX" ],
      "posts" : [ "-KgHiMD5jlUcnHcLWcAi", "-KgL3MrPw2D6-N6VACKF", "-KgLDQxqaxVQNs9WcdEW" ]
    }
    ...
  }
}

【问题讨论】:

  • 请分享您尝试显示的 JSON 树(作为文本,请不要截图)。您可以通过单击your Firebase Database console 中的导出 JSON 链接轻松获取此信息。将 JSON 作为文本使其可搜索,使我们可以轻松地使用它来测试您的实际数据并在我们的答案中使用它,通常只是 a Good Thing to do
  • @FrankvanPuffelen 在firebase的控制台的init中下载的json档案?
  • 没有。数据库中的 JSON。按照我评论中的第一个链接,选择你的项目,你就会在数据库控制台中。
  • @koceeng 抱歉,我现在是新手,我更改了标题,非常感谢您的帮助,我真的很感激

标签: android firebase firebase-realtime-database android-recyclerview


【解决方案1】:

试试这个:

LinearLayoutManager linearlayoutmanager = new LinearLayoutManager(context this);
 linearlayoutmanager.setReverselayout(true);
 linearlayoutmanager.setStackFromEnd(true);
RecyclerView.setLayoutManager(linearlayoutmanager);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-05
    • 1970-01-01
    • 2017-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-06
    相关资源
    最近更新 更多