Kotlin:如何将数据从RecyclerView适配器发送到片段

我是新来的Android和新的Kotlin(来自iOS Swift开发)。 我有一个活动,有一个片段,里面的片段是一个RecyclerView。 当用户点击RecyclerView中的一行时,我想显示一个对话框并采取一些行动。

在适配器中,我有CustomViewHolder和onClickListener。 从那里,我可以捕捉用户轻松点击的行。 但是,如何将这些信息传递回片段,以便我可以采取行动/显示一个对话框?

谢谢!

让你的适配器以一个lambda作为参数…例如

class YourAdapter(val listener: (YourDataType) -> Unit) 

在你的视图持有者中,你可以在用户点击行时调用这个监听器。

 holder.itemView.setOnClickListener { listener(data) } 

在你的片段中,你会有这样的东西:

  yourAdapter = YourAdapter { // invoked when user clicks on row }