为了账号安全,请及时绑定邮箱和手机立即绑定

如何更改为我可以删除的 ValueEventListener?

如何更改为我可以删除的 ValueEventListener?

qq_花开花谢_0 2024-01-05 16:42:53
我有一个 Firebase valueEvent 侦听器: questions.orderByChild("CategoryID").equalTo(categoryID)            .addValueEventListener(new ValueEventListener() {                @Override                public void onDataChange(@NonNull DataSnapshot dataSnapshot) {                    for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {                        Question ques = postSnapshot.getValue(Question.class);                        Common.questionList.add(ques);                    }                    //Random List                    Collections.shuffle(Common.questionList);                }                @Override                public void onCancelled(@NonNull DatabaseError databaseError) {                }            });作为拥有可以附加和删除的对象的最佳实践,我想将代码更改为 ValueEventListener 对象。我做了以下事情:mQuestionsListener = questions.orderByChild("CategoryID").equalTo(categoryID)            .addValueEventListener(new ValueEventListener() {                @Override                public void onDataChange(@NonNull DataSnapshot dataSnapshot) {                    for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {                        Question ques = postSnapshot.getValue(Question.class);                        Common.questionList.add(ques);                    }                    //Random List                    Collections.shuffle(Common.questionList);                }                @Override                public void onCancelled(@NonNull DatabaseError databaseError) {                }            });    questions.addValueEventListener(mQuestionsListener);但不工作。我哪里错了?
查看完整描述

1 回答

?
DIEA

TA贡献1820条经验 获得超2个赞

您已经在此处添加了一个侦听器questions.addValueEventListener(mQuestionsListener);,那么您需要声明一个新的侦听器ValueEventListener():


ValueEventListener mQuestionsListener = new ValueEventListener() {

                @Override

                public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

                    for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {

                        Question ques = postSnapshot.getValue(Question.class);

                        Common.questionList.add(ques);

                    }

                    //Random List

                    Collections.shuffle(Common.questionList);

                }


                @Override

                public void onCancelled(@NonNull DatabaseError databaseError) {


                }

            });


查看完整回答
反对 回复 2024-01-05
  • 1 回答
  • 0 关注
  • 50 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信