可以在ChatHeaderTemplateAdapter中的onBindViewHolder方法中为每个文本增加一个单击事件,并通过接口回调将对应的文本内容传递给Activity或Fragment。
具体实现步骤如下:
1. 在ChatHeaderTemplateAdapter中定义一个接口OnItemClickListener,包含一个方法onItemClick(position: Int, text: String)。
2. 在ChatHeaderTemplateAdapter中的onBindViewHolder方法中为每个文本设置单击事件,并在点击事件中调用OnItemClickListener的onItemClick方法。
```
holder.itemView.setOnClickListener {
listener?.onItemClick(position, data[position])
}
```
3. 在Activity或Fragment中实现OnItemClickListener接口,并在onCreate方法中将其传递给ChatHeaderTemplateAdapter。
```
class MainActivity : AppCompatActivity(), ChatHeaderTemplateAdapter.OnItemClickListener {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val headerRv = findViewById(R.id.header_rv)
val templateAdapter = ChatHeaderTemplateAdapter(mutableListOf("简单描述量子力学原理", "世界的起源", "怎样做红烧鱼", "假期去哪玩最有意义"))
templateAdapter.setOnItemClickListener(this)
headerRv.adapter = templateAdapter
}
override fun onItemClick(position: Int, text: String) {
Toast.makeText(this, text, Toast.LENGTH_SHORT).show()
}
}
```
4. 在onItemClick方法中获取对应的文本内容并进行相应的操作,例如弹出Toast提示。