如何解决adpterPosition获取Position位置返回-1【kotlin】

使用书中的例子

在onCreateViewHolder中使用adpter

viewHolder.itemView.setOnClickListener {
    val position = viewHolder.adapterPosition
    val fruit = fruitList[position]
    Toast.makeText(parent.context,"You clicked view " +  fruit.name, Toast.LENGTH_SHORT).show()
}

发现不可以获取组件的position的值,只能得到-1

解决

在重写的onBindViewHolder中实现获取position,以及获取position之后实现功能

override fun onBindViewHolder(holder: ViewHolder, position: Int) {
            val friend=friendList[position]
            holder.friendImage.setImageResource(friend.imageId)
            holder.friendName.text=friend.name
            holder.itemView.setOnClickListener{
                val position=holder.adapterPosition
                val friend=friendList[position]
                Toast.makeText(holder.itemView.context,position.toString(),Toast.LENGTH_SHORT).show()
            }
    }

备注

在onBindViewHolder中实现intent跳转,这里是跳转到MsgActivity活动中

val intent= Intent(holder.itemView.context, MsgActivity::class.java)
              startActivity(holder.itemView.context,intent,null)

可以参照这个
链接:https://www.cnblogs.com/leftstan/p/13921914.html

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值