addValueChangeListener 不会在 android 中触发

梅尔塔普·塔斯德伦

我有一个应用程序在构建过程中,我需要从 FirebaseDatabase 获取数据并在自定义列表视图中显示它们在这里我的代码部分用于 onDataChange 方法

    myDatabase=FirebaseDatabase.getInstance();
    myRef= myDatabase.getReference().child("TvSeries");
    myAuth  = FirebaseAuth.getInstance();
    myUser = myAuth.getCurrentUser();

    myRef.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            for(DataSnapshot currentData : dataSnapshot.getChildren()){
                if(currentData.child("tCategory").child("tPrimary").getValue().toString().equals("Aksiyon")){ }
                selectedCategoryList.add(new  DataForRow(currentData.getKey(),
                        currentData.child("tCategory").child("tPrimary").getValue().toString(),
                        currentData.child("tReleaseDate").getValue().toString()));

            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });



    Integer size =selectedCategoryList.size();
    Log.d("Size:",  size.toString());

当我在 onDataChange 方法中设置断点时,它可以工作,但没有任何建议非常有帮助。祝大家有个美好的一天。

亚历克斯·马莫

您的selectedCategoryList列表始终为空,因为onDataChange()方法具有异步行为,这意味着即使在您尝试将这些DataForRow对象添加到列表之前,它也会被调用快速解决此问题的方法是selectedCategoryList仅在onDataChange()方法内部声明和使用您的列表,或者如果您想在外部使用它,则需要创建自己的回调,为此,我建议您从这里查看我的答案的最后一部分发布

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

navigator.geolocation.getCurrentPosition()永远不会在Android的WebView中返回

Android不会在文本文件中写换行

Android软键盘永远不会在模拟器中显示

Android OnClickListener不会在首次点击时触发

--prod标志不会在Android 7的Ionic 3应用中显示键盘

android:pivotY不会在我的android矢量drawable中添加顶部填充

不会在TextInputEditText android上触发onClick事件

不会在Android Studio的RecyclerView.ViewHolder中notifyDataSetChanged()启动init {}吗?

过渡不会在悬停时触发

InAppBrowser(PhoneGap Build 3.1.0)事件不会在Android 2.3上触发

OnActivityResult不会在Android中更新ImageView

Android:打开设备后,FragmentPagerAdapter中的片段不会在横向显示数据

Android按钮不会在每次点击时触发事件

如果ScrollView是父级,则不会在RelativeLayout(Android)中显示TableLayout

Cocos2d-js:自定义TTF字体不会在Android中显示

Android上的Cordova File API:window.requestFileSystem永远不会在设备上触发

Oncreate()中的动画不会在android中停止

OnLongClickListener不会在ViewPager上触发

Sendkeys()不会在使用Appium的Android App中释放Element

为什么ACTION_DOWN有时可能不会在Android中为ListView触发

onCreateView 不会在 Fragment 中触发

“hashchange”不会在 Wordpress 中触发

Android volley 不会在 POST 请求中调用 getParams

appRouter 不会在加载时触发

Android Studio 不会在 PasswordToggleDrawable 中更改颜色

Ionic:Touchstart 和 Touchend 不会在 Android 上触发

android-gradle 设置 versionNameOverride 不会在 BuildConfig.java 中设置 versionName

OnGetMarkText 不会在 TContourSeries 中触发

Android 中的 SQLite“更新后”触发器似乎不会在每次记录更新后运行