FirestoreRecyclerAdapter

FirestoreRecyclerAdapter

我在Android中有活动A和活动B。

在活动A中,有一个FirestoreRecyclerAdapterFirestoreRecyclerOptions对象,它们实时更新RecyclerView。我从活动A中的按钮开始活动B,但是我没有完成活动A,因此,当返回到活动A时,无需再次读取先前已在recyclerView中加载的所有文档。

但是,如果我从活动B到活动A启动新的意图,那么旧活动A中的Firestore侦听器会怎样?它会自动终止吗?

最佳答案

当使用Query的addValueEventListener()方法时,应根据活动的生命周期删除侦听器,如以下帖子中我的回答所述:


Should I actually remove the ValueEventListener?


如果您使用的是Firebase-UI库,则开始侦听onStart()方法中的更改后:

@Override
protected void onStart() {
    super.onStart();
    firestoreRecyclerAdapter.startListening();
}


您还需要停止监听onStop()方法中的更改:

@Override
protected void onStop() {
    super.onStop();
    if(firestoreRecyclerAdapter != null) {
        firestoreRecyclerAdapter.stopListening();
    }
}

10-08 03:13