使用书中的例子
在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