recyclerview with onclicklistener in android code example

Example 1: recyclerview onclicklistener kotlin

val data = list[position]holder.itemView.setOnClickListener {    cellClickListener.onCellClickListener(data)}

Example 2: recyclerview onclicklistener kotlin

interface CellClickListener {    fun onCellClickListener(data: Model)}

Example 3: how to set onClickListener to RecyclerView kotlin

/* 
How to set up a click listener on RecyclerView in conjunction with
an adapter and a click listener on items
NOT only *RecyclerView itemClickListener*
*RecyclerView onClickListener* and *RecyclerView itemClickListener* together
often such a solution is needed to close pop-up messages 
when clicking anywhere on the screen with RecyclerView list 
This code is more like a crutch but works great for me
*/
private fun CreateRecyclerView(){
   val recycler_list = findViewBiId<RecyclerView>(R.id.myRecyclerViewId)

   recycler_list.setOnTouchListener { v, _ ->
      // if statement is return boolean value for OnTouchListener
      if (layoutAttachment.visibility == View.VISIBLE || menuButtons.visibility == View.VISIBLE) {
        closeOpenDialogs()
        v.performClick()
      } else {
        false
      }
   } 
  recycler_list.layoutManager = LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false)
  recycler_list.setHasFixedSize(true)
  recycler_list.adapter = myAdapter
  recycler_list.itemAnimator = DefaultItemAnimator()
}

private fun closeOpenDialogs(){
// here do staff for you need click actions like
  if (layoutAttachment.visibility == View.VISIBLE || menuButtons.visibility == View.VISIBLE) {
    layoutAttachment.visibility == View.GONE
    menuButtons.visibility == View.GONE
  }
}

Example 4: recyclerview button onclicklistener

TextView textView;//declare global with in adapter class

public static class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {

      private ViewHolder(View itemView) {
            super(itemView);
            itemView.setOnClickListener(this);
            textView = (TextView)view.findViewById(android.R.id.text1);

      }

      @Override
      public void onClick(View view) {
            Toast.makeText(view.getContext(), "position = " + getLayoutPosition(), Toast.LENGTH_SHORT).show();

         //go through each item if you have few items within recycler view
        if(getLayoutPosition()==0){
           //Do whatever you want here

        }else if(getLayoutPosition()==1){ 
           //Do whatever you want here         

        }else if(getLayoutPosition()==2){

        }else if(getLayoutPosition()==3){

        }else if(getLayoutPosition()==4){

        }else if(getLayoutPosition()==5){

        }

        //or you can use For loop if you have long list of items. Use its length or size of the list as 
        for(int i = 0; i<exampleList.size(); i++){

        }


      }
  }