【发布时间】:2019-10-04 15:21:32
【问题描述】:
我正在构建一个购物清单应用程序,这是其中一项活动。
基本上,该活动获取房屋周围所有位置的数据库,并提取名称列表以创建用于显示的字符串数组列表。
之后,它将 prepareListView 绑定到变量 prepareList 并创建一个布局为 simple_list_item_1 的 arrayAdapter。
附加适配器后,它会设置 onItemClicListener。
Listview 工作正常,但我无法让 onClickListener 工作。
我已经搜索了这个网站,并且通常在互联网上也没有找到解决方案。我可以让侦听器使用自定义适配器,但这对于我正在尝试做的事情来说太过分了。大多数解决方案都是 Java,在实现 onClick 函数方面似乎与 Kotlin 非常不同。
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.prepare)
// populate the home locations array
val prepareHomeLocations = productDatabase!!.getAllHomeLocations()
// create a reduced array for displaying
val reducedHomeLocations = ArrayList<String>()
for (items in prepareHomeLocations.indices) {
reducedHomeLocations.add(prepareHomeLocations[items].homeArea)
}
// bind the listView
var prepareList = findViewById<ListView>(R.id.prepareListView)
// create an adapter
val adapter =
ArrayAdapter(this@Prepare, android.R.layout.simple_list_item_1, reducedHomeLocations)
// attach the adapter
prepareList.adapter = adapter
// set the onItemClicListener
prepareList.setOnItemClickListener { parent, view, position, id ->
Toast.makeText(this@Prepare, "item Clicked", Toast.LENGTH_SHORT).show()
}
}
onClickListener 是否不适用于 simple_list_item_1 视图?
【问题讨论】:
标签: android listview kotlin onitemclicklistener