我有一个简单的recyclervIEw,带有一个显示数字列表的字符串适配器,我想避免recyclervIEw在滚动并被用户触摸时停止.@H_301_1@我已经取消了在用户拖动时手动滚动recyclervIEw的 *** 作,但是我需要以编程方式自行管理滚动(开始和停止滚动)
我不想让用户与recyclervIEw进行交互.
这是一个小数字@L_419_0@,显示了用户在滚动(停止)滚动时触摸recyclervIEw时发生的情况.我想取消这种行为.
这就是我取消用户拖动时滚动的方式
recyclerVIEwSlot.addOnItemtouchListener(new RecyclerVIEw.OnItemtouchListener() { @OverrIDe public boolean onIntercepttouchEvent(RecyclerVIEw rv, MotionEvent e) { // set return "true" = disables scrolling behavIoUr on dragging return true; } @OverrIDe public voID ontouchEvent(RecyclerVIEw rv, MotionEvent e) { } @OverrIDe public voID onRequestdisallowIntercepttouchEvent(boolean disallowIntercept) { } });
通过添加这些代码行,行为不会发生变化.
recyclerVIEwSlot.setEnabled(false);recyclerVIEwSlot.setClickable(false);
解决方法:
您必须扩展RecyclerVIEw类,然后手动阻止像这样调用ontouch:
public class YourRecyclerVIEw extends RecyclerVIEw { private boolean lock=false; public YourRecyclerVIEw (Context context) { super(context); } public YourRecyclerVIEw (Context context, AttributeSet attrs) { super(context, attrs); } public YourRecyclerVIEw (Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @OverrIDe public boolean ontouchEvent(MotionEvent ev) { if(!lock){ return super.ontouchEvent(ev); } else{ return true; } } /** * @return the lock */ public boolean isLock() { return lock; } /** * @param lock the lock to set */ public voID setLock(boolean lock) { this.lock = lock; }}
总结 以上是内存溢出为你收集整理的android-防止recyclerview停止在触摸事件上滚动全部内容,希望文章能够帮你解决android-防止recyclerview停止在触摸事件上滚动所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)