在Firebase Android中过滤数据

时间:2016-09-20 11:05:14

标签: android firebase firebase-realtime-database

我有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

1 个答案:

答案 0 :(得分:0)

https://github.com/mmazzarolo/firebase-recyclerview

FirebaseRecyclerAdapter构造函数有两个参数:

查询:要监视数据更改的Firebase位置 itemClass:项目(孩子)的类