Вы можете сделать это следующим образом:
Передать обратный вызов адаптеру
class DummyAdapter(
val context: Context,
private var DummyList: ArrayList<DummyModel>,
private val onButtonClickedListener: (buttonText: String) -> Unit
): RecyclerView.Adapter<DummyAdapter.DummyViewHolder>() {
// ...
override fun onBindViewHolder(holder: DummyViewHolder, position: Int) {
val item = dummyList[position]
holder.bind(item)
holder.dummyItemBinding.buttonDummy.setOnClickListener {
val buttonText = holder.dummyItemBinding.buttonDummy.text
onButtonClickedListener(buttonText)
}
}
А когда вы создадите адаптер, поместите ссылку на функцию:
val adapter = DummyAdapter(context, dummyList, ::onDummyItemClicked)
fun onDummyItemClicked(buttonText: String) {
when(buttonText) {
"Fragment 1" -> goToFragment1()
"Fragment 2" -> goToFragment2()
}
}