package com.github.jdsjlzx.util;
import android.support.v7.widget.RecyclerView;
import com.github.jdsjlzx.recyclerview.LRecyclerViewAdapter;
/**
* RecyclerView设置Header/Footer所用到的工具类
* @author Lzx
* @created 2016/9/30 10:36
*
*/
public class RecyclerViewUtils {
/**
* 请使用本方法替代RecyclerView.ViewHolder的getLayoutPosition()方法
*
* @param recyclerView
* @param holder
* @return
*/
public static int getLayoutPosition(RecyclerView recyclerView, RecyclerView.ViewHolder holder) {
RecyclerView.Adapter outerAdapter = recyclerView.getAdapter();
if (outerAdapter != null && outerAdapter instanceof LRecyclerViewAdapter) {
int headerViewCounter = ((LRecyclerViewAdapter) outerAdapter).getHeaderViewsCount();
if (headerViewCounter > 0) {
return holder.getLayoutPosition() - (headerViewCounter + 1);
}
}
return holder.getLayoutPosition();
}
}