我已经实现了一个firebase列表适配器来加载项目列表(列表A)。我的数据结构设置为在列表A中,每个项目还包含位于数据库中其他位置(isNice)的某些信息的引用ID。同样地:
ListA
- ObjA
- title : "hi"
- id : "ObjAid"
isNice
- ObjAid : "true"
我目前正在使用另一个数据库操作来查找" isNice"子,传递" ObjAid",列表位置,然后是resultReceiver以获取结果。 我的问题是,当resultReceiver获取resultData(值" true")时,我不知道如何在特定位置修改firebase列表中的数据。
我过去的经验是使用将我的数据加载到我自己的ArrayList中并为listView创建自定义适配器,在这种情况下,我可以在加载额外信息时轻松更新填充的视图。我想避免设置我自己的ArrayList来暂时存储数据,这有利于FirebaseListAdapter的简单性。感谢所有提示,thx:)
答案 0 :(得分:0)
经过一些反复试验后,我改用了RecyclerView + FirebaseRecyclerViewAdapter方法。从长远来看,使用Recycler也是好的,在我的用例中,列表可以达到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......