我在Kotlin中有一个应用程序是由另一个开发人员完成的。它在RecycleView Adapter的“ onBindViewHolder”方法中设置Onclick侦听器。视图以某种方式滚动到可见区域之外(即用户向下滚动)并且用户滚动回到顶部后,仅在两次单击视图后才调用onclick方法。不了解发生了什么,而我对Kotlin的了解很少。这是设置onclick侦听器的方式:
override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
//...
holder.itemView.editButton.onClick {
Log.d("Holder", "Click")
}
//...
}
当视图离开屏幕时,它可以正常工作。另外,不要求onBindViewholder仅用于从屏幕外部返回的视图,我认为这不是标准的吗?
对于recycleview也没有特殊的设置,只是简单的线性布局和单一视图类型。
有什么想法吗?
答案 0 :(得分:1)
尝试此代码。
holder.itemView.editButton.setOnClickListener(object : View.OnClickListener {
override fun onClick(v: View?) {
Log.d("Holder", "Click")
}
})
答案 1 :(得分:0)
确保您将Edittext的值与ViewHolder类绑定,如下所示:
class ViewHolder (view: View) : RecyclerView.ViewHolder(view) {
// Holds the button that will add each editButton to
val editButton = view.editButton
}
尝试以下简单代码
holder?.editButton.setOnClickListener {
Log.e("editbutton", "onClick")
}