其他分享
首页 > 其他分享> > 筛选查询以填充FirebaseRecyclerAdapter

筛选查询以填充FirebaseRecyclerAdapter

作者:互联网

尚不清楚如何使用自定义查询填充FirebaseRecyclerAdapter.

>定义参考.此处:DatabaseReference ref = mDatabase.getReference().child(“ users”);
>将其发送到适配器initAdapter(ref);
>定义查询并设置侦听器.这样对吗?

mAdapter = new FirebaseRecyclerAdapter<User, UserHolder>(User.class,  R.layout.user_row_layout, UserHolder.class, ref) {

        @Override
        protected void populateViewHolder(final UserHolder viewHolder, final User model, int position) {

            Query query = ref.orderByChild("group").equalTo(uid);
            query.addChildEventListener(new ChildEventListener() {
                @Override
                public void onChildAdded(DataSnapshot dataSnapshot, String s) {
                    viewHolder.setName(model.getName());
                    viewHolder.setStatus(getStatus(model.getStatus()));
                }

                // ...
            };

仍显示来自用户的所有数据.只需要基于uid进行过滤.有什么线索吗?

解决方法:

对于那些可能试图像我一样使事情变得过于复杂或在夜间工作的人,这里是解决方案:

mAdapter = new FirebaseRecyclerAdapter<User, UserHolder>(
               User.class,  
               R.layout.user_row_layout, 
               UserHolder.class,
               ref.orderByChild("group").equalTo(uid)
) {
    @Override
    protected void populateViewHolder(final UserHolder viewHolder, final User model, int position) {

                viewHolder.setName(model.getName());
                viewHolder.setStatus(getStatus(model.getStatus()));
            }

            // ...
        };

标签:firebaseui,firebase,firebase-realtime-database,android
来源: https://codeday.me/bug/20191111/2022776.html