Firebase 回收器适配器未填充

策普摇滚

我在填充 Firebase 回收器适配器时遇到问题。我最终想要做的是,用户搜索一个名称,然后数据库中的结果将填充 recyclerView。

数据库结构如下所示:

在此处输入图片说明

要填充的代码如下所示,全部在onCreate()

Query mQuery = FirebaseDatabase.getInstance().getReference().orderByChild("users");

        FirebaseRecyclerOptions<Users> options =
                new FirebaseRecyclerOptions.Builder<Users>()
                        .setQuery(mQuery, Users.class)
                        .build();

        mAdapter = new FirebaseRecyclerAdapter<Users, UsersViewHolder>(options) {
            @NonNull
            @Override
            public UsersViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
                View view = LayoutInflater.from(parent.getContext())
                        .inflate(R.layout.user_single_layout, parent, false);
                return new UsersViewHolder(view);
            }

            @Override
            protected void onBindViewHolder(@NonNull UsersViewHolder holder, int position, @NonNull Users model) {
                holder.setName(model.getFirstName());
            }
        };

        mUserList.setAdapter(mAdapter);

现在我只希望它填充数据库中的所有用户,但似乎没有填充任何内容。

mUserList是一个recyclerView

这是 UsersViewHolder 类: public static class UsersViewHolder extends RecyclerView.ViewHolder { View mView; TextView 用户名;

    UsersViewHolder(View itemView) {
        super(itemView);
        mView = itemView;
        mUsername = mView.findViewById(R.id.user_single_name);
    }

    public void setName(String name) {
        mUsername.setText(name);
    }
}
亚历克斯·马莫

要解决此问题,请更改以下代码行:

Query mQuery = FirebaseDatabase.getInstance().getReference().orderByChild("users");

和:

Query mQuery = FirebaseDatabase.getInstance().getReference()
    .child("users")
    .orderByChild("first_name");

你缺少一个孩子。也不要忘记开始监听更改:

@Override
protected void onStart() {
    super.onStart();
     mAdapter.startListening();
}

并且在不需要时停止收听。

@Override
protected void onStop() {
    super.onStop();
    if( mAdapter!= null) {
         mAdapter.stopListening();
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Firebase 回收器适配器未显示任何内容

Firebase回收器适配器不起作用

从 Firebase 回收器适配器获取总项目数

从特定的userID Firebase回收器适配器获取密钥值

Firebase UI回收器适配器中的不同子集合

如何使用Firebase回收器适配器更改所选项目的颜色?

Firebase Firestore回收器视图适配器复制每个文档的列表

如何在Firebase回收器适配器中实现recyclerview ItemClickListener()?

有没有办法清除 firebase 回收器适配器,以便它再次加载新数据

使用回收器视图从 firebase 检索数据时出错:E/RecyclerView:未附加适配器;跳过布局

如何用Firebase填充RecyclerView适配器

我的 RecyclerViw 适配器出错,填充了 firebase 数据

Firebase列表适配器构造器错误

Firebase在Android的适配器中添加侦听器

如何从 Firebase 实时数据库 Java 中的子节点检索数组数据?(Firebase 回收器适配器)

如何使用Firebase List适配器

Android Studio适配器和Firebase

到recyclerview的Firebase数据显示错误-RecyclerView:android中未连接适配器

Android Firebase 列表适配器构造函数错误

如何从Firebase检索数据到适配器

什么是 iOS 版本的 firebase 列表适配器?

Firebase Recycler适配器不显示数据,但加载图像

Firebase从RecyclerView适配器中删除子级

如何从 Firebase RecyclerView 适配器获取 itemId 或 ItemName

回收站适配器未显示数据

为 RecycleView 重用适配器时未回收 ViewHolders

回收器视图适配器中的选项菜单

旋转器和回收站的通用适配器

分段回收器视图适配器,隐藏空白部分