从RecyclerView中删除onItemTouchListener

时间:2018-01-02 08:46:16

标签: android android-recyclerview

我设置了RecyclerView自定义行。它附加了OnItemTouchListener

recyclerView.addOnItemTouchListener(new RecyclerTouchListener(this, recyclerView, new MyClickListener() {
        @Override
        public void onClick(View view, int position) {
            itemClick(position);
        }
    }));

在某些时候我需要删除这个侦听器附加另一个。

使用ListView,我可以这样做: listView.setOnItemClickListener(null);

感谢您提前提供任何帮助。

2 个答案:

答案 0 :(得分:3)

回收视图为此提供方法

recyclerView.removeOnItemTouchListener(listener);

答案 1 :(得分:0)

RecyclerView.OnItemTouchListener listener=new RecyclerView.OnItemTouchListener() {
            @Override
            public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {
                return false;
            }

            @Override
            public void onTouchEvent(RecyclerView rv, MotionEvent e) {

            }

            @Override
            public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {

            }
        }

recyclerView.addOnItemTouchListener(listener)
recyclerview.removeOnItemTouchListener(listener);