Check Mobile App
Read now
Start a Project

applying touch listener on recycler view so that you can perform the click on whole item view

Save

While working with the recycler view , we often feel the need to implement a listener on the whole recycler view so  that if any one item is selected we may trigger the action as per our need.

One way is to perform the same action on click of every element of the itemView in Recycler view’s onBindViewHolder function. But then that redundant, repetitive and also not at all  good approach.

Another is to add the addOnItemTouchListener to your recycler view.
But problem with this is that you need to override the three methods viz :

  1. onInterceptTouchEvent
  2. onTouchEvent
  3. onRequestDisallowInterceptTouchEvent

and implementing this is not very easy, as two of these take motionevents as input and you need to know how to handle this or you can convert these to something that most of the listeners have(like onClick) and use them as per your need .

So lets begin the coding :

  1. Make a class that extends RecyclerView.OnItemTouchListener
  2. Make a interface in this class.
  3. Override the methods as shown in the code snippet.
  4. Use an instance of this class while adding addOnItemTouchListener to your recycler view.

CODE : for the class

Now with this being done , all you need to do to your recycler view is to set an instance of this class.
take a look at how to do the same.

 

. . .

Leave a Comment

Your email address will not be published. Required fields are marked*


Be the first to comment.

css.php

When I think in getting solutions for my Ecommerce Platform, I think of Webkul. They have been such a blessing in our business. We have spent thousands of dollars in support and modules from them. We love their support team. They work very closely with us, and they always go the extra mile when we need help.

Michael Urresta

Michael Urresta

Talk to Sales

Global

Live Chat
Start a Project

    Message Sent!

    If you have more details or questions, you can reply to the received confirmation email.

    Back to Home