Kotlin setOnClickListener用于ListView [英] Kotlin setOnClickListener for a ListView
本文介绍了Kotlin setOnClickListener用于ListView的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下代码:
class BookListActivity : AppCompatActivity()
{
var array = arrayOf("Item 1", "Item 2", "Item 3", "Item 4", "Item 5", "Item 6", "Item 7", "Item 8", "Item 9", "Item 10", "Item 11")
override fun onCreate(savedInstanceState: Bundle?)
{
super.onCreate(savedInstanceState)
setContentView(R.layout.book_list)
val adapter = ArrayAdapter(this, R.layout.book_list_item, R.id.book_title, array)
val listView : ListView = findViewById(R.id.book_list)
listView.adapter = adapter
}
}
我需要为listView上的每个元素添加一个点击侦听器.
I need to add a click listener for each element on the listView.
我尝试了以下操作,但不起作用:
I've tried the following but doesn't work:
listView.setOnItemClickListener
{
val intent = Intent(this, BookDetailActivity::class.java)
startActivity(intent)
}
我还需要知道我单击了什么ListView元素.我该怎么办?
Also I need to know what ListView element I've clicked. How can I do this?
推荐答案
您必须处理您的听众应该看起来像这样:
Your listener should look like this:
listView.setOnItemClickListener { parent, view, position, id ->
val element = adapter.getItemAtPosition(position) // The item that was clicked
val intent = Intent(this, BookDetailActivity::class.java)
startActivity(intent)
}
这篇关于Kotlin setOnClickListener用于ListView的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文