我在我的应用程序中创建了一个网格视图,我希望在单击所选项目后从数组中获得价值。
现在,我可以获得价值的完整列表,但是如何获取所选商品的价值?像merger_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?
答案 0 :(得分:1)
您应该使用为适配器提供的list
。
因此将adapter.getItem(position)
替换为简单的list[position].merchant_id
,这样您就可以从列表中选择的项目中检索任何字段。