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.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...