禁用RecyclerView的触摸事件(以防止用户触摸)? [英] disable touch events of RecyclerView (to prevent user touches)?

查看:541
本文介绍了禁用RecyclerView的触摸事件(以防止用户触摸)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的应用程序中有一个RecyclerView,它显示数据.我想禁用RecyclerView的用户触摸事件.我已经尝试了以下代码,但无法正常工作.

I have a RecyclerView in my app and it displays data. I want to disable user touch events of RecyclerView. I have tried the below code but it does not work.

recyclerView.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        return false;
    }
});

请帮助我.

推荐答案

几天前我有一个类似的用例,现在偶然发现了这个问题:
您可以添加

As I had a similar use case a few days ago and stumbled upon this question just now:
you can add either

到您的RecyclerView.

to your RecyclerView.

使用RecyclerView.SimpleOnItemTouchListener的示例:

recyclerView.addOnItemTouchListener(new RecyclerView.SimpleOnItemTouchListener() {
    @Override
    public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {
        // true: consume touch event
        // false: dispatch touch event
        return true;
   }
});

SwipeRefreshLayout通过查询swipeLayout.isRefreshing()进行后台工作时消耗了触摸事件.

I consumed the touch event while my SwipeRefreshLayout was doing background work by querying swipeLayout.isRefreshing().

这篇关于禁用RecyclerView的触摸事件(以防止用户触摸)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆