用户的 RecyclerView 为空

2024-05-24

我试图使用 Firebase 实时数据库在 RecyclerView 中向用户显示主键,但每次我尝试 RecyclerView 都是空的。我尝试了很多教程,但似乎没有任何帮助 这是我的数据库的样子:

这是我使用 RecyclerView 的类

public class UsersActivity extends AppCompatActivity {
    private RecyclerView userslist;
    private DatabaseReference ref;
    private List<Users> mUsers;

    @Override
    protected void onCreate (Bundle savedInstanceState) {
        super.onCreate ( savedInstanceState );
        setContentView ( R.layout.activity_users );
        ref = FirebaseDatabase.getInstance ().getReference ("users");

        userslist = (RecyclerView) findViewById ( R.id.users_list );


        userslist.setLayoutManager ( new LinearLayoutManager ( this ) );
       mUsers=new ArrayList<> (  );
       readUsers ();

ref.addValueEventListener ( new ValueEventListener () {
    @Override
    public void onDataChange (@NonNull DataSnapshot dataSnapshot) {
        for(DataSnapshot snapshot:dataSnapshot.getChildren ()){
            Users users=dataSnapshot.getValue (Users.class);
            mUsers.add ( users );
        }
    }

    @Override
    public void onCancelled (@NonNull DatabaseError databaseError) {

    }
} );
    }

    public void readUsers(){
        FirebaseUser firebaseUser= FirebaseAuth.getInstance ().getCurrentUser ();
        DatabaseReference reference=FirebaseDatabase.getInstance ().getReference ("users");
        reference.addValueEventListener ( new ValueEventListener () {
            @Override
            public void onDataChange (@NonNull DataSnapshot dataSnapshot) {




            }

            @Override
            public void onCancelled (@NonNull DatabaseError databaseError) {

            }
        } );
    }

    @Override
    protected void onStart () {
        super.onStart ();
        FirebaseRecyclerOptions<Users> options = new FirebaseRecyclerOptions.Builder<Users> ()
                .setQuery ( ref, Users.class )
                .build ();
        FirebaseRecyclerAdapter<Users, FindFriendViewHolder> adapter = new FirebaseRecyclerAdapter<Users, FindFriendViewHolder> ( options ) {
            @Override
            protected void onBindViewHolder (@NonNull FindFriendViewHolder findFriendViewHolder, int i, @NonNull Users users) {
                findFriendViewHolder.userName.setText ( users.getName () );

            }

            @NonNull
            @Override
            public FindFriendViewHolder onCreateViewHolder (@NonNull ViewGroup parent, int viewType) {
                View view = LayoutInflater.from ( parent.getContext () ).inflate ( R.layout.users_template, parent, false );
                FindFriendViewHolder viewHolder = new FindFriendViewHolder ( view );
                return viewHolder;
            }
        };
        userslist.setAdapter ( adapter );
       adapter.startListening ();
    }

    public static class FindFriendViewHolder extends RecyclerView.ViewHolder {
        TextView userName;
        ImageView profileImage;

        public FindFriendViewHolder (@NonNull View itemView) {
            super ( itemView );
            userName = itemView.findViewById ( R.id.username1 );
            profileImage = itemView.findViewById ( R.id.profilepicture );

        }


    }
}

用户名适配器

public class Users {
    public String name;
    public Users(){}
    public Users(String name){
    this.name=name;}
    public String getName () {
        return name;
    }

    public void setName (String name) {
        this.name = name;
    }


}

我希望 RecyclerView 中填充主键之后的所有用户。


这是带有 recyclerview 的 firebase 实时数据库的示例 https://github.com/firebase/FirebaseUI-Android/blob/master/database/README.md

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用户的 RecyclerView 为空 的相关文章

随机推荐

  • 谷歌图片搜索API

    我有一个网站 用户可以在其中提交图片 我想用这些图片自动在 Google 上进行搜索 以尽量减少图片被从其他网站盗用的可能性 我知道 Firefox 扩展 但这需要我右键单击每张图片并等待结果出现 我想自动化这个 我一直在寻找 API 但
  • Android 中的垂直(旋转)标签

    我需要两种在 Android 中显示垂直标签的方法 水平标签逆时针旋转 90 度 字母在侧面 带有字母的水平标签 如商店招牌 我是否需要为这两种情况 一种情况 开发自定义小部件 我可以使 TextView 以这种方式呈现吗 如果我需要完全自
  • InnoDB:使用事务批量插入或组合多个查询?

    做批量的时候INSERT在InnoDB中 我应该使用事务吗 START TRANSACTION INSERT INTO tbl name a b c VALUES 1 2 3 INSERT INTO tbl name a b c VALUE
  • Python 可以替代 Java 小程序吗?

    除了制作用于物理模拟 如抛射运动 重力等 的教育性 Java 小程序之外 还有其他选择吗 如果你想让它在浏览器中运行 你可以使用PyJamas http pyjs org 这是一个 Python 到 Javascript 的编译器和工具集
  • 从 DataRow 单元格解析 int [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 如何从 DataRow 单元格解析 int 值 Int32 Parse item QuestionId ToString 这段代码可以工作 但看
  • Drools:为什么是无状态会话?

    Drools 使用会话来存储运行时数据 为此 有两种会话 无状态和有状态 与无状态会话相比 有状态会话允许迭代调用 并且似乎比无状态会话具有所有优势 那么为什么会有无状态会话呢 他们服务的目的是什么 与有状态会话相比 它们的优势是什么 谢谢
  • 传递数组时在 C 中的函数参数中强制指定数组大小

    Context 在 C 中 我有一个以数组作为参数的函数 该参数用作该函数的输出 输出的大小始终相同 我会 让阅读代码的人清楚所需的大小 不过它已经在函数注释中了 理想情况下 编译会输出警告或错误 这样我就可以在编译时而不是运行时防止出现问
  • .NET WebClient:DownloadString 在哪里?

    我可能在这里遗漏了一些东西 但是当我使用 WebClient 并查找 DownloadString 方法 如书籍示例中所示 时 我只看到 DownloadStringAsync 我缺少什么导入 您使用的是 Silverlight 吗 Sil
  • valgrind 在 Raspberry Pi 上返回未处理的指令

    我最近一直在尝试在运行 Debian GNU Linux7 0 喘息 的树莓派 型号 b 上使用 valgrind 来调试分段错误 每次我在编译的 C 程序上运行 valgrind 时 都会得到类似以下内容的信息 disInstr arm
  • 缩放更改后获取谷歌地图 v3 的边界

    我试图在缩放更改后获取地图的边界 但是 Zoom changed 事件会触发before边界已被重新计算 因此 在 Zoom changed 处理程序中 您将获得之前的边界 而不是新的边界 有没有办法获得缩放变化的正确范围 这是一个bug
  • 在 emacs org-mode 中仅延迟加载前 N 行

    有没有办法告诉 org mode 仅加载长文本文件的前 N 行 我想保持整个文件打开以便能够搜索它 但在文件的前 N 行上显示组织模式 这是我编辑新内容的地方 如果您在组织模式下有结构化大纲 则可以使用以下命令设置全局文件可见性 START
  • Matlab下降低图像质量

    问候 我正在尝试找到一种简单的方法来处理图像 以便将其质量从 8 位降低到 3 位 实现这一目标的最简单方法是什么 干杯 如果要线性缩放 只需将每个像素值除以 255 7 即 如果原始图像存储在矩阵 I 中 则让低分辨率图像 J I 255
  • 钩子之前的黄瓜中的功能和场景大纲名称

    如果我有一根简单的黄瓜feature and scenario 像这样 示例代码来自黄瓜维基 https github com cucumber cucumber wiki Scenario outlines Feature Eating
  • spring data jpa 过滤 @OneToMany 中的子项

    我有一个员工测试实体是父实体并且FunGroup信息子实体 这两个实体都是通过employeeId映射 我需要一种方法来过滤掉与搜索条件匹配的子实体 以便结果仅包含父实体和子实体 满足要求 员工测试类 Entity name Employe
  • 多语言自定义404 htaccess规则导致重定向循环

    我正在开发一个多语言网站 需要为每种语言设置自定义 404 页面 我在 htaccess 中有以下规则 但不太正常 RewriteCond REQUEST URI ie NC ErrorDocument 404 http www domai
  • Django 迁移错误 'TypeError: 序列项 1: 需要一个类似字节的对象,在 mysql-connector-pythoncursor_cent.py 文件上找到 str'

    我正在 Django 项目中使用 mysql connector 来处理 mysql 请求 问题是我正在使用 django admin startproject project 设置一个简单的项目 当我尝试进行简单的管理 py 迁移时 这是
  • 如何让 Grunt.js 和 Meteor.js 协同工作?

    我想在我的 Meteor 应用程序中使用简单的复制和串联 但是当 Meteor 在服务器和客户端上运行所有 javascript 文件时 我遇到了问题 而我不希望它们在任何地方运行 它要么只是配置文件 例如Gruntfile js或我想以某
  • 我可以通过 GH API 获取两次提交之间一个文件的差异数据吗?

    我知道如何通过 API 以及 SHA 和所有这些好东西来获取文件的提交 但是 假设我只想要 1 次提交中的文件差异或两次提交中同一文件的差异 例如 在这次提交 https github com rails rails commit ea75
  • 无法在 Swift 的 Storyboard 中加载 UIViewController XIB 文件

    我读了使用 XCode 故事板实例化使用 XIB 进行设计的视图控制器 https stackoverflow com questions 9155719 using xcode storyboard to instantiate view
  • 用户的 RecyclerView 为空

    我试图使用 Firebase 实时数据库在 RecyclerView 中向用户显示主键 但每次我尝试 RecyclerView 都是空的 我尝试了很多教程 但似乎没有任何帮助 这是我的数据库的样子 这是我使用 RecyclerView 的类