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

时间:2018-01-08 18:47:48

标签: android kotlin kotlin-android-extensions

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

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

谢谢!

1 个答案:

答案 0 :(得分:3)

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

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

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

holder.itemView.setOnClickListener { listener(data) }

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

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