Search code examples
androidandroid-recyclerviewclickable

How to make recyclerView_items unclickable, while one of them is clicked and working?


Premise

Each of my RecyclerView_items displays an image, and changes its image_resource when tapped.
One of them is the right answer which has additional function: navigation to another fragment 5-second after changing its image.

Basically, the function of clickListener of RecyclerView_items is

  • wrong item
    click -> change image_resource
  • right item
    click -> change image_resource -> delay(5000) -> navigate to another fragment

Problem

Then, my problem is that after the right_item is tapped, other items are clickable during delay(5000). I don't want them to change their images during delay(5000).

How to do it?! Thanks in advance.


Solution

  • You can achieve this by adding a flag at time when user click right image then make that variable false. As such after the delay before moving to the next fragment make it true again.

    boolean flag = true;
    

    then in your item click method

    view.setOnClickListner {
     if (flag) {
       if (rightimageclicked) {
           flag = false;
           delay { 
            flag = true;
            // Move to other fragment  
           }
       } else {
           // change the image for wrong click
       }
     }
    }