FirebaseRecyclerAdapter - 如何获取最后一项?

时间:2016-12-14 21:28:03

标签: android firebase android-recyclerview firebase-realtime-database firebaseui

我需要获取来自FirebaseRecyclerAdapter的最后一个列表项(CardView),以便为其添加额外的底部填充。

问题在于FirebaseRecyclerAdapter的工作方式与RecyclerView略有不同,并且没有传递给它的数组或项目列表,而是Firebase数据库参考。

所以我不能这样做。例如:

@Override
public void onBindViewHolder(UserViewHolder userViewHolder, int position) {

   if( position == getItemCount() - 1 ){
      // Your last item
   }

}

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

以下是我的尝试,可能会对您有所帮助:

FirebaseRecyclerAdapter.getItemCount()因为其文档已从RecyclerView.Adapter复制(仍然没有太大区别):

  

返回适配器所拥有的数据集中的项目总数。

而不是onBindViewHolder(),您可以在populateViewHolder()中执行此操作:

@Override
protected void populateViewHolder(VH viewHolder, T model, int position)
{
    if (position == getItemCount() - 1)
    {

    }
}

答案 1 :(得分:0)

如果你想使用onBindViewHolder

,你可以这样做
LinearLayoutManager mLinearLayoutManager = new LinearLayoutManager(getContext());
    mLinearLayoutManager.setReverseLayout(true);
    mLinearLayoutManager.setStackFromEnd(true);

并覆盖onBindViewHolder

        @Override
        public void onBindViewHolder(mViewHelper viewHolder, int position) {
            if(position ==  0){
                viewHolder.button.setVisibility(View.VISIBLE); 
            }
            super.onBindViewHolder(viewHolder, position);
        }

mRecyclerView.setLayoutManager(mLinearLayoutManager);