Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Kotlin:如何将数据从RecyclerView适配器发送到片段_Android_Kotlin_Kotlin Android Extensions - Fatal编程技术网

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

Android Kotlin:如何将数据从RecyclerView适配器发送到片段,android,kotlin,kotlin-android-extensions,Android,Kotlin,Kotlin Android Extensions,我是Android新手,也是Kotlin新手(来自iOS Swift development)。我有一个活动有一个片段,片段内是一个RecyclerView。当用户点击RecyclerView中的一行时,我想显示一个对话框并采取一些行动 在适配器中,我有CustomViewHolder和onClickListener。从那里,我可以轻松捕捉用户点击的行。但是,我如何将这些信息传递回片段,以便采取行动/显示对话框 谢谢 让适配器将lambda作为参数…例如 class YourAdapter(va

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

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


谢谢

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

class YourAdapter(val listener: (YourDataType) -> Unit)
在视图持有者中,当用户单击行时,您将调用该侦听器

holder.itemView.setOnClickListener { listener(data) }
在你的片段中,你会有如下内容:

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

您是否尝试过使用回调接口?如何访问yourAdapter=yourAdapter{}中的“数据”?@kyk yourAdapter=yourAdapter(myDataArray){doSomethingWith(it)}@JohnO'Reilly是否可以有多个lambda,因此多个侦听器作为适配器参数?