android - 如何禁用 Recyclerview 的手动滚动?

标签 android android-recyclerview

我有水平 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/

相关文章:

android - 退出 Android 应用

android - 在我的 recyclerview 适配器类中实现 Android bottom sheet

android - 具有可扩展项目的 RecyclerView

安卓 : Your device isn't compatible with this version

Android 显示最新 toast

java - RecyclerView 装饰无法正确滚动

java - RecyclerViewAdapter OnBindViewHolder 的 ID 为空

android-recyclerview - 如何防止 AppBarLayout 展开?

java - AlertDialog MultiChoice 没有给我正确的选择

android - 向android发送数据和从android发送数据