Android中RecyclerView简单的点击事件不推荐使用在安卓6.0版本以后不能使用


//点击事件        recyclerViewLeft.addOnItemTouchListener(new RecyclerItemClickListener(getActivity(),recyclerViewLeft,new RecyclerItemClickListener.OnItemClickListener() {            @Override            public void onItemClick(View view, int position) {                Toast.makeText(getActivity(),"点击"+position,Toast.LENGTH_SHORT).show();            }            @Override            public void onItemLongClick(View view, int position) {                Toast.makeText(getActivity(),"长按"+position,Toast.LENGTH_SHORT).show();            }        }));

    //点击事件    static class RecyclerItemClickListener implements RecyclerView.OnItemTouchListener {        public interface OnItemClickListener {            void onItemClick(View view, int position);            void onItemLongClick(View view, int position);        }        private OnItemClickListener mListener;        private GestureDetector mGestureDetector;        public RecyclerItemClickListener(Context context, final RecyclerView recyclerView, OnItemClickListener listener) {            mListener = listener;            mGestureDetector = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener() {                @Override                public boolean onSingleTapUp(MotionEvent e) {                    return true;                }                @Override                public void onLongPress(MotionEvent e) {                    View childView = recyclerView.findChildViewUnder(e.getX(), e.getY());                    if (childView != null && mListener != null) {                        mListener.onItemLongClick(childView, recyclerView.getChildAdapterPosition(childView));                    }                }            });        }        @Override        public boolean onInterceptTouchEvent(RecyclerView view, MotionEvent e) {            View childView = view.findChildViewUnder(e.getX(), e.getY());            if (childView != null && mListener != null && mGestureDetector.onTouchEvent(e)) {                mListener.onItemClick(childView, view.getChildAdapterPosition(childView));            }            return false;        }        @Override        public void onTouchEvent(RecyclerView view, MotionEvent motionEvent) {        }        @Override        public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {        }    }

下一章节将详细解析RecyclerView点击长按事件

更多相关文章

  1. android典型监听事件实
  2. android 鼠标滚轮事件监听
  3. Android版本检测/自动更新
  4. Rockchip查看Android SDK版本
  5. Android 深入研究SQLite实例(一) 之 业务类 sqlite版本管理类
  6. Android和Linux版本对应
  7. Android 版本及别名
  8. android 各个版本介绍(截止2017年)
  9. android处理Back键Home键和Menu键事件

随机推荐

  1. 第99章、Android调用Javascript(从零开始
  2. android内部培训视频_第五节(1)_OA实战之
  3. Android输入管理服务启动过程源码分析
  4. 3.1如何编写程序界面&3.2常见控件使用方
  5. 高德天气应用开发之四:android ViewPager
  6. 【源码】Android(安卓)圆形图片之 Circle
  7. (Android Studio 3.0)Android Profiler内存
  8. Android studio 学习6:配置Bmob SDK
  9. Android——自定义通知栏使用
  10. Android MediaCodec硬编兼容性测试方案