java.lang.IndexOutOfBoundsException: Invalid item position 0(0). Item count:0
View view = recycler.getViewForPosition(0); 报异常
解决方法:
@Override
public void onMeasure(@NonNull RecyclerView.Recycler recycler, @NonNull RecyclerView.State state, int widthSpec, int heightSpec) {
//获取count判断,必须要有
int count = state.getItemCount();
if (count > 0) {
if (measuredHeight <= 0) {
View view = recycler.getViewForPosition(0);
measureChild(view, widthSpec, heightSpec);
measuredWidth = View.MeasureSpec.getSize(widthSpec);
measuredHeight = view.getMeasuredHeight() * getSpanCount();
}
setMeasuredDimension(measuredWidth, measuredHeight);
} else {
super.onMeasure(recycler, state, widthSpec, heightSpec);
}
}