Отключить ItemTouchHelper для части пользователя

У меня есть этот RecyclerView с зрителем, который имеет заголовок / TextView и ViewPager.

Элементы из RecyclerView могут быть удалены с помощью ItemTouchHelper.

Я хочу отключить прокручивание части для viewpager, но не, если вы начнете перетаскивать заголовок / TextView.

Любой, кто знает, как отключить салфетки только для части зрителя?

Я могу отключить прокрутку всего зрителя с помощью ItemTouchHelper следующим образом:

ItemTouchHelper()... @Override public int getSwipeDirs(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) { if (viewHolder instanceof UnswipeableViewHolder) { return 0; } } return super.getSwipeDirs(recyclerView, viewHolder); 

Но как отключить его только для части ViewHolder?

Попробуйте этот код

 recyclerView.addOnItemTouchListener(new RecyclerView.OnItemTouchListener() { @Override public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) { int action = e.getAction(); switch (action) { case MotionEvent.ACTION_MOVE: rv.getParent().requestDisallowInterceptTouchEvent(true); break; } return false; } @Override public void onTouchEvent(RecyclerView rv, MotionEvent e) { } @Override public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) { } }); 

Решив мою проблему, добавив requestDisallowInterceptTouchEvent (true) на дочерний просмотрщик:

 this.viewPager.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View view, MotionEvent motionEvent) { int action = motionEvent.getAction(); switch (action) { case MotionEvent.ACTION_MOVE: view.getParent() .requestDisallowInterceptTouchEvent(true); break; } return false; } });