在Kotlin中单击时,如何从recyclerview获取行ID或项目位置

时间:2019-11-11 20:38:26

标签: kotlin android-recyclerview

我的recyclerView_main中有main_activity.xml,该人持有 Kotlin 项目中的single_row.xml

recyclerView_main充满了数据库中的多行。

每次单击特定行时,我都需要获取行ID或位置。

有办法吗?

该行上有按钮,如果键入setOnClickListener(),则getPosition()getId()都没有选项

有没有一种方法可以做到这一点,或者我在这里缺少什么?

谢谢

2 个答案:

答案 0 :(得分:1)

您是否正在使用适配器来处理该recyclerview? 适配器内部是绑定每个项目的地方,在那里,您将拥有onBindViewHolder函数并接收位置,并且可以在此处设置“ setOnClickListener”。

这是实现适配器的示例代码: RecyclerView Adapter 检查那里的onBindViewHolder

答案 1 :(得分:0)

您需要从main_activity访问id的事实是什么意思?创建适配器时,还定义了将在onBindViewHolder()方法中使用的onClick函数。

val onClick = {movie: Movie -> doSomethingWithTheId(movie.id)} 
val adapter = MoviesAdapter(movies, rowLayout, context, onClick)