Groupie RecyclerView单击特定项目

时间:2020-06-04 13:02:48

标签: android kotlin android-recyclerview onclick

有人可以向我解释如何使用Groupie和Kotlin在RecyclerView中单击特定项目吗? 现在,我想显示单击这些按钮之一后单击的用户的用户名。 我尝试过这种方式,但是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
    }

}

这是 layout

1 个答案:

答案 0 :(得分:0)

只写

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

没有View.OnClickListener {}。在您的情况下,如果用户单击按钮,则只需创建View.OnClickListener对象