android - Android - 在 for 循环中创建多个 onClickListeners (Kotlin)
问题描述
我正在尝试为大量按钮实例化大量(~600)onclick 侦听器。我创建了一个函数,将每个正方形的 id 存储在一个名为 squareList 的列表中,其中每个正方形都分配有一个字符串值 id (sq000, sq001, sq002)
我想创建一个 for 循环来提取每个正方形的 id,然后创建一个 onClicklistener,有点像:
fun createSquareListeners(listOfSquares: MutableList<String>)
{
for(square in listOfSquares)
{
square.setOnClickListener{ //Do Something}
}
}
我想到的另一种实现方式是编写一个 onClick 函数,并将其附加到 xml 文件中的每个按钮,但我不太确定有什么可能,因为我对 Kotlin/Java 还很陌生
解决方案
为什么不在整个网格布局上设置一个项目监听器,然后在里面设置一个监听器
gridView.setOnItemClickListener(object:OnItemClickListener() {
fun onItemClick(parent:AdapterView<*>, v:View,
position:Int, id:Long) {
// DO something
}
})
这样,您就不需要在网格视图中拥有所有内容的 id,然后您可以根据位置更改您要去的位置:Int 在网格视图内单击,或者我不明白您要做什么?
推荐阅读
- spartacus-storefront - 斯巴达克斯店面中的 PDP 页面和添加到购物车问题
- firebase - sendEmailVerification 与 sendSignInLinkToEmail 使用 firebase 进行电子邮件验证
- python - 了解 Python 中基于冲突的搜索 MAPF (cbs-mapf) 包
- python - 我希望 x 增加
- java - Spring控制器测试路径变量给出404
- node.js - 如何使用路径参数为 url 提取 prometheus 指标
- docker - 尝试使用 PyPy docker 映像安装 Mecab 时出现“'gcc' failed with exit status 1”
- php - 在php中反转数组
- java-8 - 如何确定java8中xml的编码
- python - Django URL 上的错误:在 website.urls 中定义的 URLconf,Django 尝试了这些 URL 模式