Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- internal inner class RecyclerTouchListener(
- context: Context, private val clicklistener: ClickListener?):
- RecyclerView.OnItemTouchListener {
- private val gestureDetector: GestureDetector = GestureDetector(context,
- object: GestureDetector.SimpleOnGestureListener() {
- override fun onSingleTapUp(e: MotionEvent): Boolean {
- return true
- }
- })
- override fun onInterceptTouchEvent(rv: RecyclerView, e: MotionEvent): Boolean {
- val child = rv.findChildViewUnder(e.x, e.y)
- if (child != null && clicklistener != null && gestureDetector.onTouchEvent(e)) {
- clicklistener.onClick(child, rv.getChildAdapterPosition(child))
- }
- return false
- }
- override fun onTouchEvent(rv: RecyclerView, e: MotionEvent) {}
- override fun onRequestDisallowInterceptTouchEvent(disallowIntercept: Boolean) {}
- }
- interface ClickListener {
- fun onClick(view: View, position: Int)
- }
- rvData.addOnItemTouchListener(RecyclerTouchListener(this,
- object : ClickListener {
- override fun onClick(view: View, position: Int) {
- showToast(this@ActivityPulsaData, "data: $position")
- }
- }))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement