我是Android的新手,也是Kotlin的新手(来自iOS Swift开发)。我有一个有片段的活动,片段里面是RecyclerView。当用户点击RecyclerView中的一行时,我想显示一个对话框并采取一些措施。
在适配器中,我有CustomViewHolder和onClickListener。从那里我可以捕捉到用户轻松敲击的行。但是,如何将此信息传递回片段,以便我可以采取行动/显示对话框?
谢谢!
答案 0 :(得分:3)
让适配器将lambda作为参数...例如
class YourAdapter(val listener: (YourDataType) -> Unit)
在您的视图持有者中,您可以在用户单击行时调用该侦听器。
holder.itemView.setOnClickListener { listener(data) }
在你的片段中你会有类似的东西:
yourAdapter = YourAdapter {
// invoked when user clicks on row
}