是否可以将实例 ValueEventListener 用于同一活动的

我正在使用方法 addValueEventListener,如下所示:


public List<MyClassModel> DoRequestCards() {


        valueEventListener = getDatabaseReference()

                .child("Example")

                .child(Objects.requireNonNull(getFirebaseAuthInstance().getCurrentUser()).getUid())

                .addValueEventListener(new ValueEventListener() {

                    @Override

                    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

                        list.clear();

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

                            MyClassModel model = data.getValue(MyClassModel.class);

                            //Retrieves UniqueKey from each example

                            Objects.requireNonNull(card).setUniqueId(data.getKey());

                            list.add(model);

                        }

                        taskListener.OnSuccess(); //call interface method

                    }


                    @Override

                    public void onCancelled(@NonNull DatabaseError databaseError) {

                        taskListener.OnError(databaseError.getMessage()); //call interface method

                    }

                });


        return list;

    }

是否可以创建另一种方法来检索在同一实例中再次获取具有不同数据的不同列表?或者我应该为它创建另一个实例(因为它们处于相同的活动,并且需要每个实例都保持侦听其更改)?addValueEventListenervalueEventListener


我在不同的活动中使用相同的 ValueEventListener 实例,但是当活动停止(onStop)时,我会将其删除(我对此没有问题)。


慕斯王
浏览 70回答 1
1回答

陪伴而非守候

您可以使用同一侦听器两次。这不是问题。您可以在侦听器中检查快照触发侦听器的位置。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java