android - 单击gridview中的项目时如何获取选定的列值?
问题描述
我在我的应用程序中创建了一个网格视图,我想在单击所选项目后从我的数组中获取值。
现在我可以获得我的价值的完整列表,但我怎样才能获得选定的项目价值?像merchant_id这样的例子?
private fun handleJson(jsonString: String?) {
val jsonArray = JSONArray(jsonString)
var list = ArrayList<Merchant>()
var x = 0
while (x < jsonArray.length()){
var jsonObject = jsonArray.getJSONObject(x)
list.add(Merchant(
jsonObject.getInt("merchant_id"),
jsonObject.getString("name"),
jsonObject.getString("address"),
))
x++
}
val adapter = MerchantAdapter(this,list)
lv_merchant_list.adapter = adapter
var listView = findViewById<ListView>(R.id.lv_merchant_list)
listView.setOnItemClickListener{ parent, view, position, id ->
Toast.makeText(this, "You Clicked:"+" "+adapter.getItem(position),Toast.LENGTH_SHORT).show()
}
}
如何将 adapter.getItem(position) 增强为 adapter.getItem(position(i)) 以获取商家 ID?
解决方案
您应该处理您list
为适配器提供的内容。
所以替换adapter.getItem(position)
为 simple list[position].merchant_id
,这样您就可以从列表中的所选项目中检索任何字段。
推荐阅读
- c# - 在android中更改后退按钮的颜色
- python - 在训练我的神经网络后,如何从最后一个解码器层“logits”中提取图像?
- javascript - 使用扩展运算符克隆集导致 Gatsby 中的嵌套集
- python-3.x - Scrapy 规则:使用进程链接排除某些 url
- typescript - 在 Typescript 中定义为箭头函数的方法上调用 super.method() 时出错
- r - 使用反应数据集的模块内部的renderHighchart
- amazon-web-services - 如何创建自定义事件触发器以在创建新存储桶时调用 lambda?
- python - functionB的多线程线程直到function A的线程完成才开始,但是functionA的线程不等待functionB
- oracle - 不输入参数时忽略where子句中的日期范围参数
- python - ipywidgets 与 Jupyter Lab 1.0+ 版兼容?