我编写了一个处理程序来维护回收器视图的自动滚动。工作正常。但是当回收器视图中只有一项时我遇到的问题。我的应用程序崩溃了,当我检查 logcat 时,我收到类似 java.lang.IllegalArgumentException: 无效目标位置的错误。
这是我的自定义 LinearLayoutManager 类
public class CustomLinearLayoutManager extends LinearLayoutManager {
public CustomLinearLayoutManager (Context context) {
super(context);
}
public CustomLinearLayoutManager(Context context, int orientation, boolean reverseLayout) {
super(context, orientation, reverseLayout);
}
public CustomLinearLayoutManager(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
}
@Override
public void smoothScrollToPosition(RecyclerView recyclerView, RecyclerView.State state, int position) {
final LinearSmoothScroller linearSmoothScroller =
new LinearSmoothScroller(recyclerView.getContext()) {
private static final float MILLISECONDS_PER_INCH = 100f;
@Override
public PointF computeScrollVectorForPosition(int targetPosition) {
return CustomLinearLayoutManager.this
.computeScrollVectorForPosition(targetPosition);
}
@Override
protected float calculateSpeedPerPixel
(DisplayMetrics displayMetrics) {
return MILLISECONDS_PER_INCH / displayMetrics.densityDpi;
}
};
linearSmoothScroller.setTargetPosition(position);
startSmoothScroll(linearSmoothScroller);
}
}
这是该行的一个获取错误:
startSmoothScroll(linearSmoothScroller);
错误是 - CustomLinearLayoutManager.smoothScrollToPosition java.lang.IllegalArgumentException:目标位置无效
这是该行的一个获取错误:
recyclerViewHeaderSlider.smoothScrollToPosition(count);
错误是 - java.lang.IllegalArgumentException:目标位置无效
皈依舞
白板的微信
鸿蒙传说
相关分类