gpt4 book ai didi

android - 如何在 Android 中停止 Firebase 事件监听器?

转载 作者:行者123 更新时间:2023-11-29 02:25:42 27 4
gpt4 key购买 nike

我正在尝试从 Firebase 获取数据,当它完成关闭 Activity 时,Firebase 仍在监听器上工作,我尝试 removeEventListener 但它没有用,我该怎么做?

childEventListener = mOnline.child("Room").addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
String val = dataSnapshot.getValue(String.class);

opponentPlayers.add(val);
enterOpponentRoom();

}

@Override
public void onChildChanged(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {

}

@Override
public void onChildRemoved(@NonNull DataSnapshot dataSnapshot) {

}

@Override
public void onChildMoved(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {

}

@Override
public void onCancelled(@NonNull DatabaseError databaseError) {

}
});

这就是我试图移除监听器的方式

@Override
protected void onStop() {

Log.d("onStop", "called");


mOnline.child("Room").removeEventListener(childEventListener);


super.onStop();


}

最佳答案

使用数据库中的最终路径创建一个 DatabaseReference 变量,在本例中为 mOnline.child("Room")。然后使用此引用添加监听器,然后将其删除。当您尝试使用与添加时相同的“子”方法删除监听器时,会发生一些事情。

关于android - 如何在 Android 中停止 Firebase 事件监听器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52393036/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com