1. 程式人生 > >RecyclerView 新增 FooterView 時如果是GridLayoutManager 處理方法

RecyclerView 新增 FooterView 時如果是GridLayoutManager 處理方法

/**
 * 用來處理 如果是Footer 是 GridView 的情況下 最後佔一個 gridview item
 */
@Override
public void onAttachedToRecyclerView(RecyclerView recyclerView) {
    super.onAttachedToRecyclerView(recyclerView);
    RecyclerView.LayoutManager manager = recyclerView.getLayoutManager();

    if (manager instanceof GridLayoutManager) {
        final 
GridLayoutManager gridManager = ((GridLayoutManager) manager); gridManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() { @Override public int getSpanSize(int position) { // 如果當前是footer的位置,那麼該item佔據2個單元格,正常情況下佔據1個單元格 return getItemViewType(position) == FOOTER
? gridManager.getSpanCount() : 1; } }); } }