Android - firebase获取FirebaseRecyclerAdapter

时间:2017-07-24 20:52:39

标签: android firebase firebase-realtime-database

firebase state

在图像之后,我想要检索用户内部的所有项目,我的getUid()设置为true并在FirebaseRecyclerAdapter中使用。

我正在使用FirebaseRecyclerAdapter

我正在尝试这个,但它不起作用

    Query postsQuery = mDatabase.child("projects").child("users").orderByChild(getUid()).equalTo(true);
    mAdapter = new FirebaseRecyclerAdapter<Project, ProjectViewHolder>(Project.class, R.layout.item_project,
            ProjectViewHolder.class, postsQuery) {
        @Override
        protected void populateViewHolder(final ProjectViewHolder viewHolder, final Project model, final int position) {
            final DatabaseReference postRef = getRef(position);
            Log.d(TAG, model.name + "");
            viewHolder.bindToPost(model);

        }
    };
    mRecycler.setAdapter(mAdapter);

我认为问题在于我需要父对象(Projects)而不是用户。

2 个答案:

答案 0 :(得分:0)

您需要使用FirebaseIndexRecyclerAdapter

在这种情况下,您的密钥引用将是您设置链接到用户的项目的另一个节点。

"user_projects": {
    "UID": {
        "project_1":true,
        "project_4":true,
    }
}

答案 1 :(得分:0)

你需要使用getParent()这样的方法更进一步:

final DatabaseReference postRef = getRef(position).getParent();
String name = postRef.child("name").getValue(String.class);

希望它有所帮助。