2017-06-06 55 views
0

我已經實現了一個Firebase列表適配器來加載項目列表(列表A)。我的數據結構是這樣設置的,即在列表A中,每個項目還包含一個引用ID,用於位於數據庫中其他位置(isNice)的某些信息。同樣:FirebaseListAdapter,populateView之後如何更新單個列表視圖

ListA 
- ObjA 
    - title : "hi" 
    - id : "ObjAid" 

isNice 
- ObjAid : "true" 

我目前使用其他數據庫操作來查找ID在「isNice」孩子,傳遞「ObjAid」,列表中的位置,然後resultReceiver得到的結果回來。 我的問題是,當resultReceiver得到一個resultData(值爲「true」)時,我不知道如何在特定位置修改Firebase列表中的數據。

我以前的經驗是使用將我的數據加載到我自己的ArrayList中,併爲listView創建一個自定義適配器,在這種情況下,我可以在加載額外信息時輕鬆更新填充視圖。我想避免設置我自己的ArrayList來暫時存儲數據,這有利於FirebaseListAdapter的簡單性。所有提示都被讚賞,thx :)

回答

0

經過一些試驗和錯誤之後,我改用了RecyclerView + FirebaseRecyclerViewAdapter方法。從長遠來看,使用回收站更好,在我的使用情況下,列表可能會達到3K +。使用RecyclerView.findViewHolderForAdapterPosition()我可以在從結果接收器中獲取數據之後引用具體的itemView:

// Reference the Item's view at the specific position 
myViewHolder itemViewHolder = recyclerView.findViewHolderForAdapterPosition(position); 
// Reference and set the views and here...... 
相關問題