【问题标题】:Recycle view onScrollChange listener keep triggering rappedlyRecyclerview onScrollChangelistener 不断快速触发
【发布时间】:2020-05-17 01:19:34
【问题描述】:

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

 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);}

        } );

【问题讨论】:

    标签: java android android-recyclerview onscrollchanged


    【解决方案1】:

    你可以这样做:

            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);
            }
        });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多