【发布时间】:2021-03-25 16:29:10
【问题描述】:
我找到了一个关于如何将onClickListener 实现为RecyclerView 的教程,但后来我不知道为什么代码不起作用。日志说 lateinit 属性尚未初始化。我不确定它为什么这么说。我将如何解决这个问题?
这是 MainActivity 中的部分代码:
viewManager = LinearLayoutManager(this)
val list = ArrayList<test>()
recyclerView = findViewById<RecyclerView>(R.id.recyclerview).apply {
setHasFixedSize(true)
layoutManager = viewManager
adapter = ListAdapter(list)
}
ListAdapter(list).setOnItemClickListener(object : ListAdapter.ClickListener {
override fun onClick(pos: Int, aView: View) {
Toast.makeText(applicationContext,"It works :)",Toast.LENGTH_SHORT).show()
}
})
【问题讨论】:
-
尝试用
adapter.setOnItemClickListener替换ListAdapter(list).setOnItemClickListener -
@Astha 它说未解决的参考。我前一阵子试过了,但它不起作用。无论如何,谢谢你帮助我:)
-
adapter的声明并没有在代码中显示,反正问题显然是由于不同的引用。
标签: android kotlin android-recyclerview kotlin-lateinit