适用于对象列表的Android FirebaseRecyclerAdapter

时间:2017-08-03 09:58:27

标签: android firebase firebase-realtime-database firebaseui

我的firebase数据结构是

{
"users": {
    "u1": [{
        "k1": "",
        "k2": "",
        "k3": ""
    }, {
        "k1": "",
        "k2": "",
        "k3": ""
    }],
    "u2": [{
        "k1": "",
        "k2": "",
        "k3": ""
    }, {
        "k1": "",
        "k2": "",
        "k3": ""
    }],
    "u3": [{
        "k1": "",
        "k2": "",
        "k3": ""
    }, {
        "k1": "",
        "k2": "",
        "k3": ""
    }]
}
}

我想收集key的所有值,其中key(u1,u2,u3)将在运行时计算,并且可以大于1。 然后我使用FirebaseRecycleAdapter来显示这些数据。

mFirebaseDatabaseReference1 = mFirebaseDatabase.getReference().child("test/users");
firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<FirebaseHeadlinesFeed, NewsHolder>(FirebaseHeadlinesFeed.class,
            R.layout.newslayout,
            NewsHolder.class,
            mFirebaseDatabaseReference1) {


        @Override
        protected void populateViewHolder(NewsHolder viewHolder, FirebaseHeadlinesFeed model, int position) {
            viewHolder.setNewsHolderFiled(model.getValues().get(0));

        }

有人可以帮助吗?

1 个答案:

答案 0 :(得分:0)

如果你想要所有孩子(用户),你需要改变这个

.child( “<强>测试/用户”); // .child( “用户”)**;

您的对象 FirebaseHeadlinesFeed.class 需要与检索数据的所有属性完全相同的数据库。

你也可以创建查询以便使用 mFirebaseDatabaseReference1

例如: var query = mFirebaseDatabaseReference1.orderByChild(“k1”);