android 当我点击RecyclerView项目时,如何向String ArrayList添加项目?

wnavrhmk  于 2022-12-16  发布在  Android
关注(0)|答案(1)|浏览(118)

我想在单击RecyclerView项时将RecyclerView项中的文本视图文本添加到ArrayList中。
我创建了一个字符串数组列表。

class HobbiesAdapter(val hobbyItem: HobbiesClass) : Item<GroupieViewHolder>() {
    var list: ArrayList<String> = ArrayList()

    override fun bind(viewHolder: GroupieViewHolder, position: Int) {
        viewHolder.itemView.hobbynameTV.text = hobbyItem.hobbyName
        Picasso.get().load(hobbyItem.imageUrl).into(viewHolder.itemView.hobbyImageView)

        //On click listener whenever an item of RecyclerView is pressed
        viewHolder.itemView.setOnClickListener {
            list.add(viewHolder.itemView.hobbynameTV.text.toString())
            Log.d("list ",list.toString())
        }

}

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

}

当我按下卡菲的“清单:[Caffe's]”出现在我的Logcat上,但当我单击另一个项目时,例如,显示露营的项目。在我的Logcat上,它显示列表:[露营]未列出:[Caffe's,Camping]所以Caffe's被删除了。我该如何解决这个问题。我希望我按下的每个项目都出现在我的数组列表中,而不仅仅是我按下的最后一个

jobtbby3

jobtbby31#

如果你只想存储一个选定的项目,那么你必须在列表中添加另一个项目之前清除列表。

viewHolder.itemView.setOnClickListener {
        list.clear()
        list.add(viewHolder.itemView.hobbynameTV.text.toString())
        Log.d("list ",list.toString())
    }

试试这个...

相关问题