微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – FirebaseRecyclerAdapter的回调没有运行

通过代码实验室进行Firebase Android友好聊天 – 在https://codelabs.developers.google.com/codelabs/firebase-android/ – 我遇到了一个问题,即第7步没有达到/调用回调:阅读消息

通过/ android-start项目,我能够完成第一步2-6:

>概述
>获取示例代码
>导入入门应用程序
>创建Firebase控制台项目
>运行入门应用程序
>启用身份验证(通过项目控制台添加名称和SHA1的Android应用程序等)

但是,当我去做第7步时 – 没有一个回调被调用.我运行应用程序,登录/退出步骤正常.

我按照那里的指示导入了initial_messages.json并完全复制了第7步的代码(尝试了几次尝试以确保我可能没有错过任何东西)..然后甚至尝试在完成/ android项目.还有一个问题,即回调永远不会运行,因此微调器就会挂起.

由于代码太多,我会发布我期待回调运行的部分.谁能告诉我这里可能缺少什么?没问题 – 如果它有助于添加更多我的代码.谢谢阅读

    // mProgressBar.setVisibility(ProgressBar.INVISIBLE);
    // New child entries
    mFirebaseDatabaseReference = FirebaseDatabase.getInstance().getReference();

    SnapshotParserteradapterDataObserver(new RecyclerView.AdapterDataObserver() {
        @Override
        public void onItemRangeInserted(int positionStart,int itemCount) {
            ...
        }
    });


    mMessageRecyclerView.setAdapter(mFirebaseAdapter);
最佳答案
firebaseui 3.0版本中,引入了新的lifecycle policy for FirebaseRecyclerAdapter.因此,您现在需要显式调用startListening()&适配器上的stopListening()指示它启动&停止从数据库中检索数据.

FirebaseUI 3.0 upgrade guide开始:

Adapter Lifecycle – in prevIoUs versions the adapters began listening
immediately upon instantiation and had a cleanup() call to stop
listening. In 3.x you must explicitly call startListening() and
stopListening() or pass a LifecycleOwner to the options builder.

这是一个非常新的版本,看起来代码实验室尚未更新以反映这一重大变化.我把它提到了an issue on the firebase/friendlychat-android GitHub repo.

原文地址:https://www.jb51.cc/android/430159.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐