升级到 FirebaseUI 3.0 后无法使用 FirebaseRecyclerOptions 检索数据

2024-01-03

我在用着FirebaseRecyclerOptions因为我升级到了新的 FirebaseUI 3.0 版本,但现在我无法从数据库中检索任何内容。相同的代码在旧版本中运行得很好FirebaseRecylcerAdapter方法。好像根本进不去onBindViewHolder.

初始化

linearLayoutManager = new LinearLayoutManager(this);
        linearLayoutManager.setReverseLayout(true);
        linearLayoutManager.setStackFromEnd(true);
        recyclerView = findViewById(R.id.main_recycler);
        recyclerView.hasFixedSize();
        recyclerView.setLayoutManager(linearLayoutManager);    
queryDatbase = mDatabase.child("chatlist").child(cUser);
        queryDatbase.keepSynced(true);
Query query = queryDatbase.orderByChild("time");
        query.keepSynced(true);

FirebaseRecyclerAdapter 代码

firebaseoptions = new FirebaseRecyclerOptions.Builder<ConvModel>().setQuery(query,ConvModel.class).build();

    firebaseadapter = new FirebaseRecyclerAdapter<ConvModel, ChatlistHolder>(firebaseoptions) {
        @Override
        protected void onBindViewHolder(final ChatlistHolder holder, int position,final ConvModel model) {
            final String each_user_id = firebaseadapter.getRef(position).getKey();
            Toast.makeText(MainActivity.this, each_user_id, Toast.LENGTH_SHORT).show();
            //region SET EACH USER IMAGE and USERNAME
            assert each_user_id != null;
            mDatabase.child("users").child(each_user_id).addValueEventListener(new ValueEventListener() {
                @Override
                public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

                    String dp = dataSnapshot.child("dp").getValue(String.class);
                    final String name = dataSnapshot.child("name").getValue(String.class);
                    holder.setName(name);
                    holder.setDp(dp,getApplicationContext());
                    // region OPEN CHAT ACTIVITY
                    holder.mView.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View view) {
                            //open other activity

                        }
                    }); 
                }

                @Override
                public void onCancelled(@NonNull DatabaseError databaseError) {
                    Toast.makeText(getApplicationContext(),databaseError.getMessage(),Toast.LENGTH_SHORT).show();
                }
            });//endregion
        }

        @Override
        public ChatlistHolder onCreateViewHolder(ViewGroup parent, int viewType) {
            View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.chatlist_single_item_layout,parent,false);
            return new ChatlistHolder(v);
        }
    };
    recyclerView.setAdapter(firebaseadapter);

从 FirebaseUI 3.0 版本开始,您需要显式调用指示适配器开始/停止从数据库检索数据。

来自升级到 FirebaseUI 3.0 https://github.com/firebase/FirebaseUI-Android/blob/master/docs/upgrade-to-3.0.md guide:

适配器生命周期 - 在以前的版本中,适配器开始监听 实例化后立即并有一个cleanup()打电话叫停 听。在 3.x 中你必须显式调用startListening() and stopListening()或通过一个LifecycleOwner到选项构建器。

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

升级到 FirebaseUI 3.0 后无法使用 FirebaseRecyclerOptions 检索数据 的相关文章

  • Sublime Text 2中括号(圆括号)的智能缩进

    我有一个非常好的设置 可以从 sublime text 2 内部编辑和运行 maxscript 我最近想要的一件事是用普通圆括号模拟或复制大括号的行为 EDIT 抱歉 Chrome 决定我在那里完成编辑 而我还没有 如果我输入if x th
  • 编辑时可以在文本框控件内使用 Angular 的管道格式化程序吗?

    我已经声明了一种将大数字分成三位数组的格式 并像这样经常使用它 div Huge number i am huge make threesome div 现在 有一个对相应功能的请求 但在像这样的输入控件中实现
  • 通过 R 连接到 Azure SQL

    下面的代码允许我通过 R 连接到 Azure SQL 服务器 但是 我只能访问 主 数据库 而不能访问我在下面创建的两个数据库 表格显示为空白 有什么想法吗 谢谢 library RODBC library dplyr library DB
  • 基于生产的 Azure SQL 数据库沙箱

    我有一个大型 Azure Sql 数据库 我需要向团队提供一个沙箱 它是数据库的副本 但允许他们创建 sql 对象 沙箱中的数据需要与生产保持同步 我使用了弹性查询 但是性能并不理想 我查看了数据同步 但公司要求 AD 身份验证 定期恢复生
  • 如何在c#中创建多线程

    我需要监听机器中的所有串行端口 假设我的机器有 4 个串行端口 我必须创建 4 个线程并开始分别使用附加线程监听每个端口 我使用此代码来获取我的机器中的端口数量 private SerialPort comPort new SerialPo
  • 两种模型,一种是 STI,一种是验证

    假设我有两个表 产品和订单 为了简单起见 假设一次只能购买一种产品 因此没有像 order items 这样的连接表 所以关系是Product有很多订单 Order属于product 因此 product id是Order表中的一个fk 产
  • 如何在输入时格式化 contenteditable div?

    我正在尝试编写一个函数 允许 contenteditable div 在用户输入 div 时执行一些自动格式化 到目前为止我只能让它在 IE 中运行 有人可以帮助我吗 function formatOnKeyUp if window get
  • 通过 Ajax 加载内容

    好的 我对 ajax 和从外部加载内容还很陌生 如果您能深入了解我的问题 我将不胜感激 我目前有一个空的隐藏 div 单击链接后应在其中加载 ajax 内容 div div 我目前有一个链接列表 它们都具有相同的类 我希望在单击时 空白 d
  • Pandas DataFrame 自定义 agg 函数奇怪的行为

    我想使用自定义函数沿轴聚合 Pandas DataFrame 但我无法弄清楚该函数应返回什么 df pd DataFrame np arange 50 reshape 10 5 您可以将 numpy 函数传递给DataFrame agg C
  • 使用 Hibernate 防止无限循环数据检索

    我想知道 想象一个场景 例如 POJO public class User private String userName private String name private String surname private List
  • 如何在 LLVM 中实现字符串数据类型?

    我一直在看LLVM http llvm org 最近 我发现它是一个非常有趣的架构 然而 浏览教程和参考材料 我看不到任何关于如何实现的示例string http en wikipedia org wiki String computer
  • 如何将上下文从一个活动传递到另一个活动?

    我有一个主要活动 它调用另一个活动来显示一些数据 我有一个私有数据库帮助程序对象 我在整个主要活动代码中使用它 有没有办法以优雅的方式将我的主要活动的上下文传递给我的子活动 即 来自子类 类似getCallingActivityContex
  • 如何让 DataTemplate.DataTrigger 检查大于或小于?

    下列DataTemplate DataTrigger如果是 则使年龄显示为红色equal to 30 如果是的话 如何使年龄显示为红色比 更棒 30
  • 如何在 C 中创建最低有效位设置为 1 的掩码

    这个功能如何运作 最低有效 n 位设置为 1 的掩码 Example n 6 gt 0x2F n 17 gt 0x1FFFF 我根本不明白这些 尤其是 n 6 gt 0x2F 另外 什么是面膜 通常的方法是采取1 并将其左移n位 这会给你类
  • 使用 CodeDOM 将程序集添加到 BuildManager 会导致间歇性错误

    我正在使用 CodeDOM 在运行时创建内存中程序集 如下所示 public Assembly Compile CodeCompileUnit targetUnit string path Path GetDirectoryName new
  • 实体框架代码首次日期字段创建

    我正在使用实体框架代码优先方法来创建我的数据库表 下面的代码 创建一个DATETIME数据库中的列 但我想创建一个DATE柱子 DataType DataType Date DisplayFormatAttribute ApplyForma
  • Fancybox修改。如何修改 fancybox 以停止在每个画廊的最后一项? (画廊 1 画廊 2 等)[重复]

    这个问题在这里已经有答案了 我正在为我的照片库使用 fancybox 插件 我有多个包含更多项目 照片 的画廊 我想知道如何在点击每个画廊的最后一个项目时停止幻灯片放映 我的 fancybox js 没有被修改 谢谢 您需要添加该选项loo
  • perfmon 性能计数器是否基于与 xperf 使用的 ETW 事件“幕后”相同的东西?

    我最近开始熟悉 perfmon 和 xperf Perfmon 使用性能计数器 xperf 使用 ETW Windows 事件跟踪 Perfmon 具有提供数据的对象 而 xperf 使用 提供者 组 作为这个领域的新手 我想问是否有人可以
  • 安卓框架?

    是否有任何框架比构建 Android 应用程序更容易 您会对其中一个感兴趣吗 很快就会有 我正在开发 DroidFu 一个 Android 共享库 它将为您提供 活动 和服务 中直接提供大量实用功能 例如生成列表和错误对话框 检查 Inte
  • 使用 Coldfusion 的 CFFILE 标签监控 FFMpeg 的进度日志

    我想学习如何使用 ColdFusion 中的 CFFILE 标签来读取文本文件的内容 就我而言 该文本文件是 FFMpeg 在对媒体文件进行转码时生成的进度日志 我想编写一个 ColdFusion 脚本 该脚本将定期轮询进度日志 直到日志表

随机推荐

  • 如何使用非 root 用户创建 postgres 容器?

    我想以非 root 用户身份运行 postgres 容器 默认情况下 该映像具有用户 postgres uid 999 当通过命令访问容器时docker exec it mycontainer bin bash 用户是root 为了使容器更
  • 如何在使用 node_save($node) 创建节点时将图像附加到节点;

    您好 我正在使用 drupal 7 并尝试通过使用 php 解析 xml 来导入数据 然后使用以下命令创建节点node save node 到目前为止 我已经成功地从 xml 创建节点 无需任何图像 我想在导入图像时将图像附加到节点 我知道
  • 将值从页面传递到用户控件

    我将姓名和姓氏存储在主页的两个标签中 我在一个类中也有这些值 类没有做太多事情 但我将它们用于将来的扩展 我有一个用户控件 它将发送一封以姓名和姓氏作为正文的电子邮件 我的问题是如何将标签或类变量值传输到用户控件的主体变量中 使用要传递给它
  • 混合 16 位线性 PCM 流并避免削波/溢出

    我尝试将 2 个 16 位线性 PCM 音频流混合在一起 但似乎无法克服噪音问题 我认为它们是在将样品混合在一起时溢出的 我有以下功能 short int mix sample short int sample1 short int sam
  • CPU和GPU的区别

    CPU的单个处理单元和GPU的单个处理单元有什么区别 我在互联网上看到的大多数地方都涵盖了两者之间的高级差异 我想知道每条指令可以执行哪些指令 它们的速度有多快 以及这些处理单元如何集成到完整的架构中 这似乎是一个答案很长的问题 所以很多链
  • 在 spring jpa 实体中保存级联实体后缺少值

    我对 Spring 和 JPA 等比较陌生 我试图在标签和客户之间创建多对多关系 双向 我想我的关系是正确的 除了一个问题之外 一切都运行良好 保存到数据库后 Tag 值为 Null 所以我正在做的是 向客户添加新的标签列表 然后使用级联选
  • javascript中的子对象函数

    我知道您可以使用子对象和函数创建文字对象 var obj val 1 level1 val 2 val2 3 func function return this val2 console log obj val console log ob
  • 创建 Javascript 日历(完整,不弹出)

    我在创建 javascript 约会样式日历时遇到一些困难 虽然它确实进行了渲染 但我知道会有一种更有效的方法来实现它 有人有用于创建日历的模式吗 我将使用 jQuery 但我不想使用某人的日历插件 因为 a 我还没有找到适合我需要的插件
  • 修复 Google 地图折线的编码字符串

    我有一个编码字符串 我想用它在谷歌地图中画一条线 但由于反斜杠等特殊字符 Javascript 无法读取该字符串 不幸的是我对Javascript没有太多经验 而且我不知道如何转义这些字符 编码字符串 qikrIehwu WOKEIAIBG
  • MVC 和 JQuery:检索表单数据的最佳实践

    我有一些 JQuery 使用 Ajax 将信息发送回我的控制器进行处理 我这样做是这样的 Define my controls Get the values from my controls var param1 pName val Def
  • 零散的响应与浏览器响应不同

    我正在尝试用 scrapy 抓取此页面 http www barnesandnoble com s dref 4815 sort SA startat 7391 我得到的响应与我在浏览器中看到的不同 浏览器响应有正确的页面 而 scrapy
  • Angular2 Pipe 转换货币

    我创建了一个使用 api 转换货币的方法 如下所示 exchange Input string Output string value number number let inputRate this currencyStorage get
  • 休眠错误:当前事务被中止,命令被忽略直到事务块结束

    我随机在 catalina out 日志中看到相同的错误 WARNING SQL Error 0 SQLState 25P02 Sep 8 2010 11 50 13 PM org hibernate util JDBCExceptionR
  • Android 上的推送通知负载中的 gcm.notification.e=1 代表什么?

    我正在编写一个 Android 应用程序 它使用 Google Cloud Messaging 从服务器接收下游消息 当收到消息时onMessageReceived我打印了捆绑包并阅读了以下内容 RECEIVED PUSH NOTIFICA
  • 如何从 docker credStore 检索密码?

    我在用着docker credential desktop存储我的远程 docker 注册表的密码 据我了解 此命令应该检索我的注册表密码和用户名 docker credential desktop get https index dock
  • Web 应用程序加入 Azure Web Marketplace

    我们检查了这个文档 https blogs msdn microsoft com appserviceteam 2016 08 26 onboarding to azure web marketplace https blogs msdn
  • .Net XML 模式验证是否应该在到达第一个无效元素时停止?

    我加载了一个 XML 字符串和一个架构并将其传递到一个函数中 我让它根据模式正确验证 XML 但是它总是在第一个无效元素的范围内停止验证 无效数据 它会继续下去 无效 缺失属性 会继续下去 但无效元素 它会停止 并且不会在该范围内进一步验证
  • 如何强制元素保持在同一行

    嗨 我有以下 css div container height 20px overflow hidden margin 15px 0px padding 5px 10px 5px 10px white space nowrap div co
  • 如何获取类路径上的包和/或类的列表?

    在 Java 中 我可以使用 ClassLoader 来获取已加载的类的列表以及这些类的包 但是如何获取可以加载的类的列表 即位于类路径上的类的列表 与包裹相同 这是针对编译器的 在解析 foo bar Baz 时 我想知道 foo 是否是
  • 升级到 FirebaseUI 3.0 后无法使用 FirebaseRecyclerOptions 检索数据

    我在用着FirebaseRecyclerOptions因为我升级到了新的 FirebaseUI 3 0 版本 但现在我无法从数据库中检索任何内容 相同的代码在旧版本中运行得很好FirebaseRecylcerAdapter方法 好像根本进不