【发布时间】:2018-12-18 04:32:03
【问题描述】:
我正在尝试从我的回收器视图适配器调用另一个函数,我在我的holder.itemView 中添加了 onclick 侦听器。我在我的活动中尝试了setOnClickListener 和onClick,this@MainActivity 作为context 参数,效果很好。
btn.setOnClickListener { showDialog(this@MainActivity) }
btn.onClick { showDialog(this@MainActivity) }
但是onClick 在适配器中不起作用,因为
holder.itemView.setOnClickListener {
showDialog(context, notes[position])
} // This works fine
// Type mismatch required Context, Found CoroutineContext
holder.itemView.onClick { showDialog(context, notes[position]) }
如果我想使用 onClick 而不是 setOnClickListener,我应该怎么做才能解决这个问题
【问题讨论】:
-
你从哪里得到上下文,你通过 holder.itemView.onClick {showDialog(context, notes[position]) } ?
-
我从适配器
class NotesAdapter(private val context: Context) : RecyclerView.Adapter<NotesAdapter.NotesViewHolder>() {的构造函数中获取上下文
标签: android kotlin android-context