Lio*_*789 1 android listener firebase firebase-realtime-database
嘿,我需要在某个时候删除这个监听器,还是自己删除它?我在我的活动中调用了一个片段,用户可以转到另一个视图而不会被销毁.因此不知道如果我莫名其妙地猜想在删除此onDestroy,onPause打电话?我没有看到删除它的方法,因为它是一个DatabaseReference
这是代码:
private DatabaseReference mDatabase;
mDatabase.child("projects").orderByChild("viewCount").limitToLast(15).addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
Run Code Online (Sandbox Code Playgroud)
作为回答超人链接显示:你确实需要在相反的生命周期事件中删除监听器.
要删除侦听器,您需要保留调用时返回addChildListener()的句柄:
Query query = mDatabase.child("projects").orderByChild("viewCount").limitToLast(15);
ChildEventListener listener = query.addChildEventListener(new ChildEventListener() { ...
Run Code Online (Sandbox Code Playgroud)
query.removeChildEventListener(listener);
Run Code Online (Sandbox Code Playgroud)
你可以看到我明确地使用了Query这里,因为那是你实际附加你的听众.但是如果你有一个简单DatabaseReference的相同的方法可用,因为DatabaseReference继承自Query.
| 归档时间: |
|
| 查看次数: |
9089 次 |
| 最近记录: |