回收者查看项目单击Kotlin中的侦听器

时间:2019-11-02 08:49:45

标签: android kotlin android-recyclerview clicklistener

我刚开始用Kotlin进行编码。我的问题是我无法将项目Click侦听器分配给我的recyclerview。我已经花了几天的时间,没有钢。我试图使用这种方法: https://gist.github.com/arcadefire/1e3a95314fdbdd78fb211b099d6ec9da 我添加了代码,但是单击recyclerview项时没有任何反应。 任何帮助都将得到解决 这是 这是我使用过的代码,无法正常工作:

    interface OnItemClickListener {
    fun onItemClicked(position: Int, view: View)
}

fun RecyclerView.addOnItemClickListener(onClickListener: OnItemClickListener) {
    this.addOnChildAttachStateChangeListener(object: RecyclerView.OnChildAttachStateChangeListener {
        override fun onChildViewDetachedFromWindow(view: View?) {
            view?.setOnClickListener(null)
        }

        override fun onChildViewAttachedToWindow(view: View?) {
            view?.setOnClickListener({
                val holder = getChildViewHolder(view)
                onClickListener.onItemClicked(holder.adapterPosition, view)
            })
        }
    })
}

// Usage:
recyclerView.addOnItemClickListener(object: OnItemClickListener {
    override fun onItemClicked(position: Int, view: View) {
        // Your logic
    }
})

0 个答案:

没有答案