首页 > 解决方案 > Groupie Recycler查看单击特定项目

问题描述

有人可以向我解释如何使用 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
    }

}

这是 布局

标签: androidkotlinandroid-recyclerviewonclick

解决方案


只写

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

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


推荐阅读