Android中RecyclerView简单的点击事件
16lz
2021-01-23
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点击长按事件
更多相关文章
- android典型监听事件实
- android 鼠标滚轮事件监听
- Android版本检测/自动更新
- Rockchip查看Android SDK版本
- Android 深入研究SQLite实例(一) 之 业务类 sqlite版本管理类
- Android和Linux版本对应
- Android 版本及别名
- android 各个版本介绍(截止2017年)
- android处理Back键Home键和Menu键事件