单击GridView中的项目时如何获取选定的列值?

时间:2019-08-28 07:59:09

标签: android kotlin onclicklistener

我在我的应用程序中创建了一个网格视图,我希望在单击所选项目后从数组中获得价值。

现在,我可以获得价值的完整列表,但是如何获取所选商品的价值?像merger_id这样的例子?

现在我得到这样的整个数组值。 enter image description here

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?

1 个答案:

答案 0 :(得分:1)

您应该使用为适配器提供的list

因此将adapter.getItem(position)替换为简单的list[position].merchant_id,这样您就可以从列表中选择的项目中检索任何字段。