Groupie RecyclerView clicking specific item

1.4k Views Asked by At

Could somebody explain to me how to click a specific item in RecyclerView using Groupie and Kotlin? For now, I would like to display the username of the user clicked after clicking one of these buttons. I tried this way, but nothing shows up in logcat:

package com.example.boxes.screens.addfriends

import android.util.Log
import android.view.View
import com.example.boxes.R
import com.squareup.picasso.Picasso
import com.xwray.groupie.Item
import com.xwray.groupie.ViewHolder
import kotlinx.android.synthetic.main.invitation_row_invite.view.*

class InvitationItem (val invitation: Invitation): Item<ViewHolder>() {
    override fun bind(viewHolder: ViewHolder, position: Int) {
        viewHolder.itemView.textview_friend_username.text = invitation.username

        viewHolder.itemView.invite_discard_button.setOnClickListener{ View.OnClickListener {
            Log.d("InvitationItem", it.textview_friend_username.toString())
        }}

        Picasso.get().load(invitation.userImageUrl).into(viewHolder.itemView.image_friend_avatar)
    }

    override fun getLayout(): Int {
        return R.layout.invitation_row_invite
    }

}

and this is the layout

1

There are 1 best solutions below

5
ZSergei On BEST ANSWER

Write just

viewHolder.itemView.invite_discard_button.setOnClickListener {
   Log.d("InvitationItem", invitation.username)
}

without View.OnClickListener {}. In your case you just create View.OnClickListener object if user click on button