首页 > 解决方案 > 将项目添加到 Json

问题描述

很长一段时间以来,我都想解决一个问题:我有一个带有按钮的片段,当我按下按钮时,我有变量 * 数据发生在我要打开的 url 上。

val  button01 = view.findViewById(R.id.tv_01) as Button
button01.setOnClickListener{
dato = "01"
miTexto.setText("Jornada - 01")
    requestJsonObject()
 } 

我的网址

val url = Directions.JORNADAS + Directions.CMP + "&jor=$dato&tmp=" + Directions.TMP 

这个 url 很明显他向我打开了它,它是一个我暂停的 json,我已经传递给适配器并显示给我。

从适配器中,我将带有 put.extras 意图的 Json 中的数据传递到活动 details.kt,这取决于脉冲向我显示另一个 url 的数据的项目。

val intent = Intent(context, Detalles::class.java
holder.itemView.setOnClickListener{  
     intent.putExtra("nomLocal", jornada.nomLocal)context.startActivity(intent)......

在这里一切都很好。

我的问题:我需要将变量 data 传递给活动 Details.kt 才能访问 url,因为 * data 是我要在活动 Details 中解析的一段 url

我曾想过向 Json 添加一个项目

private fun requestJsonObject() {

    val queue = newRequestQueue(activity)

    //http://www.ffcv.es/ncompeticiones/server.php?action=getResultados&cmp=328&jor=1&tmp=2018/2019

val url = Directions.JORNADAS + Directions.CMP + "&jor=$dato&tmp=" + Directions.TMP

val stringRequest = StringRequest(Request.Method.GET, url, Response.Listener { response ->

val builder = GsonBuilder()
        val mGson = builder.create()

        val items: List<ModelJor>

        items = Arrays.asList(*mGson.fromJson(response, Array<ModelJor>::class.java))

        items.add(ModelJor("\"jornada\":" + $dato)) // dato en rojo
Log.d("Resultado", items.toString())

        recyclerView !!.layoutManager = GridLayoutManager(activity!!, 1)

        val adapter = AdapJor(activity !!, items)
        recyclerView !!.adapter = adapter

    }, Response.ErrorListener { error -> Log.d(TAG, "Error " + error.message) })
    queue.add(stringRequest)
 }  

有什么解决办法吗?

标签: jsonkotlin

解决方案


推荐阅读