Java 在安卓系统的平滑滚动程序中达到目标

Java 在安卓系统的平滑滚动程序中达到目标,java,android,android-recyclerview,android-linearlayout,smooth-scrolling,Java,Android,Android Recyclerview,Android Linearlayout,Smooth Scrolling,我有一个水平抑制回收视图,一旦用户单击一个答案,它就会平滑地滚动到下一个答案 ,虽然我想在平滑滚动仍在进行时防止点击 我使用了一个处理程序,并经历了多次尝试和错误,直到我将其用于手机, 然而,它并不实用,也不适用于所有手机 public void setSmoothScroller(final float speed){ smoothScroller = new LinearSmoothScroller(getApplicationContext()) {

我有一个水平抑制回收视图,一旦用户单击一个答案,它就会平滑地滚动到下一个答案 ,虽然我想在平滑滚动仍在进行时防止点击

我使用了一个处理程序,并经历了多次尝试和错误,直到我将其用于手机,
然而,它并不实用,也不适用于所有手机

     public  void setSmoothScroller(final float speed){
    smoothScroller  = new LinearSmoothScroller(getApplicationContext()) {
      
        private  final float SPEED = speed;
        @Override
        protected float calculateSpeedPerPixel(DisplayMetrics displayMetrics) {
      
            return SPEED / displayMetrics.densityDpi;
        }
    };
}
试图解释可能会很复杂,但我所需要的不是使用处理程序再次启用触摸,有没有办法让它在到达特定位置时自动执行功能

          @Override
public void onAnswered(final int position) {

   if (answered < bank){
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
                scrollingState = true;
                recyclerView.suppressLayout(true);
                setSmoothScroller(300f);
                smoothScroller.setTargetPosition(position + 1);
                layoutManager.startSmoothScroll(smoothScroller);
            }
        }, 1000);
        
     handler.postDelayed(new Runnable() {
            @Override
            public void run() {
                enableTouch();
            }
        }, 3150);

    }
}
@覆盖
未回答的公共无效(最终int位置){
如果(回答<银行){
handler.postDelayed(新的Runnable(){
@凌驾
公开募捐{
scrollingState=true;
recyclerView.suppressLayout(真);
设置摩尔滚动器(300f);
smoothScroller.setTargetPosition(位置+1);
layoutManager.startSmoothScroll(smoothScroller);
}
}, 1000);
handler.postDelayed(新的Runnable(){
@凌驾
公开募捐{
enableTouch();
}
}, 3150);
}
}

请上传您的相关代码,如何实现平滑滚动我刚刚编辑了它,请看一看,很抱歉我不能提供更多的代码,但这是因为它确实是一个大项目使用
平滑滚动位置
进行平滑滚动