Advertisement
Guest User

recyclerview interface

a guest
Jan 20th, 2020
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.38 KB | None | 0 0
  1.  
  2.  
  3. internal inner class RecyclerTouchListener(
  4. context: Context, private val clicklistener: ClickListener?):
  5. RecyclerView.OnItemTouchListener {
  6. private val gestureDetector: GestureDetector = GestureDetector(context,
  7. object: GestureDetector.SimpleOnGestureListener() {
  8. override fun onSingleTapUp(e: MotionEvent): Boolean {
  9. return true
  10. }
  11. })
  12.  
  13. override fun onInterceptTouchEvent(rv: RecyclerView, e: MotionEvent): Boolean {
  14. val child = rv.findChildViewUnder(e.x, e.y)
  15. if (child != null && clicklistener != null && gestureDetector.onTouchEvent(e)) {
  16. clicklistener.onClick(child, rv.getChildAdapterPosition(child))
  17. }
  18. return false
  19. }
  20.  
  21. override fun onTouchEvent(rv: RecyclerView, e: MotionEvent) {}
  22. override fun onRequestDisallowInterceptTouchEvent(disallowIntercept: Boolean) {}
  23. }
  24.  
  25. interface ClickListener {
  26. fun onClick(view: View, position: Int)
  27. }
  28.  
  29. rvData.addOnItemTouchListener(RecyclerTouchListener(this,
  30. object : ClickListener {
  31. override fun onClick(view: View, position: Int) {
  32. showToast(this@ActivityPulsaData, "data: $position")
  33. }
  34. }))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement