我有水平 Recyclerview 并且想禁用它的手动滚动。但是在点击项目时它应该滚动。怎么做?
最佳答案
在你的调用中实现 RecyclerView.OnItemTouchListener 它偷走了 recyclerview 上的所有触摸事件
public class RecyclerViewDisabler implements RecyclerView.OnItemTouchListener {
@Override
public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {
return true;
}
@Override
public void onTouchEvent(RecyclerView rv, MotionEvent e) {
}
@Override
public void onRequestDisallowInterceptTouchEvent(boolean) {
}
}
启用和禁用滚动:
RecyclerView recycleview = ...
RecyclerView.OnItemTouchListener disabler = new RecyclerViewDisabler();
recycleview.addOnItemTouchListener(disabler); // scolling disable
// do what you want to do at time of disable scrolling
recycleview.removeOnItemTouchListener(disabler); // scrolling enabled again
关于android - 如何禁用 Recyclerview 的手动滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34194260/