我有ArrayList
String
类型,其中包含myEvent
的ID,我想将此ID与ListEvent
进行比较。如果等于,则会在RecyclerView
。
但是我遇到了问题,循环正在替换RecyclerView
中的数据。
这是我的代码:
mRecycler.setLayoutManager(mManager);
mDatabase.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot != null) {
List<String> lst = new ArrayList<String>();
for (DataSnapshot data : dataSnapshot.getChildren()) {
lst.add(String.valueOf(data.getValue()));
}
for (int i = 0; i < lst.size(); i++) {
Log.d("KEY", lst.get(i));
final Query query = presenter.getQuery(lst.get(i));
mAdapter = new FirebaseRecyclerAdapter<Event, JoinedEventViewHolder>(Event.class, R.layout.item_my_box_joined_event,
JoinedEventViewHolder.class, query) {
@Override
protected void populateViewHolder(JoinedEventViewHolder viewHolder, Event model, int position) {
viewHolder.bindToEvent(getContext(), model);
}
};
mRecycler.setAdapter(mAdapter);
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
在一个循环中,它将替换myAdapter
。
答案 0 :(得分:0)
https://github.com/mmazzarolo/firebase-recyclerview
FirebaseRecyclerAdapter构造函数有两个参数:
查询:要监视数据更改的Firebase位置 itemClass:项目(孩子)的类