Recyclerview onScrollChangelistener 不断快速触发

Recycle view onScrollChange listener keep triggering rappedly

我正在使用下面的代码在我切换项目时向回收视图添加振动效果,但是在我触摸回收视图的整个过程中振动一直被触发,我希望它只激活一次振动器项目已更改。

 recyclerView.setOnScrollChangeListener( new View.OnScrollChangeListener() {
            @Override
            public void onScrollChange(View view, int i, int i1, int i2, int i3) {
                Vibrator v = (Vibrator) TeacherMain.this.getSystemService( Context.VIBRATOR_SERVICE);
                v.vibrate(5);}

        } );

您可以进行如下操作:

        mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
        @Override
        public void onScrollStateChanged(@NonNull RecyclerView recyclerView, int newState) {
            super.onScrollStateChanged(recyclerView, newState);
            if (SCROLL_STATE_TOUCH_SCROLL == newState) {//when finger touch it.
                Vibrator v = (Vibrator) MainActivity.this.getSystemService(Context.VIBRATOR_SERVICE);
                v.vibrate(5);
            }
        }
        @Override
        public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
            super.onScrolled(recyclerView, dx, dy);
        }
    });