首页 > 解决方案 > 单击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?

标签: androidkotlinonclicklistener

解决方案


您应该处理您list为适配器提供的内容。

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


推荐阅读