1

我需要抓取來自FirebaseRecyclerAdapter的最後一個列表項(CardView),以便爲其添加額外的底部填充。FirebaseRecyclerAdapter - 如何抓取最後一個項目?

問題是FirebaseRecyclerAdapter的工作原理與RecyclerView有點不同,並且沒有傳遞給它的數組或列表項,而是Firebase數據庫參考。

所以我不能這樣做。例如:

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

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

}

任何人都可以幫助嗎?

回答

0

這裏是我的嘗試可以幫助你:

FirebaseRecyclerAdapter.getItemCount()其docementation從RecyclerView.Adapter複製(仍然沒有大的區別):

返回的項目中所保存的數據集總數適配器。

相反的onBindViewHolder(),你可以做,在populateViewHolder()

@Override 
protected void populateViewHolder(VH viewHolder, T model, int position) 
{ 
    if (position == getItemCount() - 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); 
相關問題