Java 与构造函数调用相关的错误。以及参数的传递

Java 与构造函数调用相关的错误。以及参数的传递,java,android-studio,android-recyclerview,Java,Android Studio,Android Recyclerview,我正在尝试在android中为我的recyclerview定制布局管理器。名为CustomLinearLayoutManager。并试图将其构造函数和类调用到我的主片段中。但失败了。还有一些错误 CustomLinearLayoutManager类 public class CustomLinearLayoutManager extends LinearLayoutManager { public CustomLinearLayoutManager (Context context)

我正在尝试在android中为我的recyclerview定制布局管理器。名为CustomLinearLayoutManager。并试图将其构造函数和类调用到我的主片段中。但失败了。还有一些错误

CustomLinearLayoutManager类

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 = 200f;

                    @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);
    }
}
家庭碎片

CustomLinearLayoutManager customLinearLayoutManager = new CustomLinearLayoutManager(getContext());
        customLinearLayoutManager.smoothScrollToPosition();
recyclerViewHeaderSlider = view.findViewById(R.id.bannerSlider);
            SnapHelper snapHelper = new PagerSnapHelper();
            snapHelper.attachToRecyclerView(recyclerViewHeaderSlider);
            recyclerViewHeaderSlider.setHasFixedSize(true);
            recyclerViewHeaderSlider.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.HORIZONTAL, false));
            headerSliderAdapter.setOnClick(this);
            recyclerViewHeaderSlider.setAdapter(headerSliderAdapter);
我面临的错误

public CustomLinearLayoutManager(Context context, int orientation, boolean reverseLayout) {
        super(context, orientation, reverseLayout);
    }
Error: Constructor 'CustomLinearLayoutManager(android.content.Context, int, boolean)' is never used
public CustomLinearLayoutManager(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
        super(context, attrs, defStyleAttr, defStyleRes);
    }
 Error: Constructor 'CustomLinearLayoutManager(android.content.Context, android.util.AttributeSet, int, int)' is never used
在主片段中:

customLinearLayoutManager.smoothScrollToPosition();
Error: smoothScrollToPosition() in CustomLinearLayoutManager cannot be 
applied to:
Expected Parameters:     Actual Arguments:
recyclerView:               RecyclerView
state:                         State
position:                       int

首先,如果您定义了这些构造函数,但没有使用它们,那么:

错误:从未使用构造函数“CustomLinearLayoutManager(android.content.Context,android.util.AttributeSet,int,int)”

这根本不是一个错误。这是一个
警告
,因为它从未使用过

其次,如果调用方法,请确保正确添加了参数,否则将显示此消息

错误:CustomLinearLayoutManager中的smoothScrollToPosition()无法应用于:预期参数:实际参数:

然后您应该通过添加以下内容调用此方法
smoothScrollToPosition(RecyclerView RecyclerView,RecyclerView.State State,int-position)

第一个参数:对象为回收视图

第二个参数:枚举为RecyclerView.State

第三个参数:作为整数的位置