👁 523
RecyclerView — это новый тип View, появившийся в Android L. Вкратце, фича этой вьюшки, в отличие от ListView, в том, что мы используем для отображения только то количество View-шек, которое нам необходимо, и потом переиспользуем при скроллинге, а не забиваем адаптером весь список.
http://developer.android.com/intl/ru/reference/android/support/v7/widget/RecyclerView.html
Бывает такая ситуация, при которой нам нужно отключить скроллинг в RecyclerView, но, в отличие от того же ListView, сделать это труднее.
Самым простым способом будет просто переопределить dispatchTouchEvent и ловить MotionEvent.ACTION_MOVE.
public class NoScrollRecyclerView extends RecyclerView {
public NoScrollRecyclerView(Context context){
super(context);
}
public NoScrollRecyclerView(Context context, AttributeSet attrs){
super(context, attrs);
}
public NoScrollRecyclerView(Context context, AttributeSet attrs, int style){
super(context, attrs, style);
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev){
if(ev.getAction() == MotionEvent.ACTION_MOVE)
return true;
return super.dispatchTouchEvent(ev);
}
}