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

Kotlin: How to send data from RecyclerView adapter to a Fragment

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

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

谢谢!

让您的适配器将 lambda 作为参数...例如

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

在您的视图持有者中,您将在用户单击行时调用该侦听器。

holder.itemView.setOnClickListener { listener(data) }

在你的片段中你会有类似的东西:

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