在FirebaseRecyclerOptions

时间:2018-02-19 15:11:36

标签: java android firebase firebase-realtime-database

我有一个FirebaseRecyclerOptions对象,我填写它:

final FirebaseRecyclerOptions< CardPOJO > options =
                new FirebaseRecyclerOptions.Builder< CardPOJO >()
                        .setQuery(products_ref, CardPOJO.class)
                        .build();

我想添加固定项目作为最后一项,有没有办法做到这一点? 以下我有:

adapter = new FirebaseRecyclerAdapter< CardPOJO, CardHolder>(options) {
            @Override
            public CardHolder onCreateViewHolder(ViewGroup parent, int viewType) {
                //inflate the single recycler view layout(item)
                ...

我想做一些像

这样的事情
options.add(new CardPOJO("BLABLA","BLABLA"));

因为无论我有什么要添加CardPOJO课程的对象,不是吗?

图片说明

enter image description here

1 个答案:

答案 0 :(得分:0)

为了实现这一目标,不要在DatabaseReference方法中传递setQuery()对象,而是传递Query对象。

使用该查询限制条目的数量:

Query query = products_ref.orderByChild("yourChild")
    .equalsTo("desiredChild")
    .limitToLast(1);

或更简单:

Query query = products_ref.limitToLast(1);

然后在您的适配器中使用getItem(position)并使用所需的一项更改该项目的值。

另一种方法是在该特定节点上附加一个监听器,获取最后一个项目并根据需要进行更改。