問題:
問題:問題:
FirebaseUI-Android 庫注意事項:
FirebaseUI-Android 庫中的 FirebaseRecyclerAdapter 處理 RecyclerView 的資料變更通知。但是,這不支援使用 addSnapshotListener 來填入視圖持有者。<code class="java">EventListener<DocumentSnapshot> eventListener;</code>
聲明一個全域EventListener
<code class="java">eventListener = new EventListener<DocumentSnapshot>() { @Override public void onEvent(DocumentSnapshot snapshot, FirebaseFirestoreException e) { if (e != null) { Log.w(TAG, "Listen failed.", e); return; } if (snapshot != null && snapshot.exists()) { // Do what you need to do } } }; if (listenerRegistration == null) { listenerRegistration = yourRef.addSnapshotListener(eventListener); }</code>
初始化監聽器並且加入populateViewHolder:
<code class="java">@Override protected void onStop() { if (listenerRegistration != null) { listenerRegistration.remove(); } }</code>
<code class="java">@Override protected void onStart() { super.onStart(); if (listenerRegistration == null) { listenerRegistration = yourRef.addSnapshotListener(eventListener); } }</code>
以上是如何透過 FirebaseFirestore 查詢在 RecyclerView 項目的「populateViewHolder」方法中使用「addSnapshotListener」和「remove」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!