截击响应未返回完整数据

时间:2019-12-24 10:18:18

标签: android kotlin android-volley

我在从Volley处获得回复时遇到问题。我的表中有3个数据,但是凌空只返回2个数据。这是我在浏览器中得到的: pic 凌空只返回索引0和1。有人能找出问题所在吗? 这是我的Volley代码

val stringRequest = StringRequest(Request.Method.GET, url,
  Response.Listener<String> {
    response ->
  Log.d("response", response)
  val jsonObj = JSONObject(response)
  val list = jsonObj.getJSONArray("list_pengaduan")
  if(list != null){
    for(i in 0 until list.length()){
      val adu = Pengaduan(
        list.getJSONObject(i).getInt("Id_pg"),
        list.getJSONObject(i).getString("Judul"),
        list.getJSONObject(i).getString("Tujuan"),
        list.getJSONObject(i).getString("Prodi"),
        list.getJSONObject(i).getString("Fakultas"),
        list.getJSONObject(i).getString("Kategori"),
        list.getJSONObject(i).getString("Image"),
        list.getJSONObject(i).getString("Post"),
        list.getJSONObject(i).getString("Slug"),
        list.getJSONObject(i).getString("Nim"),
        list.getJSONObject(i).getString("Modified"),
        list.getJSONObject(i).getString("Status")
      )
      pengaduan.add(adu)
}
adapter.notifyDataSetChanged()
}
},
Response.ErrorListener {
    error ->
  Log.d("error", error.toString())})

Volley.newRequestQueue(this).add(stringRequest)

2 个答案:

答案 0 :(得分:1)

尝试使用

for(i in 0 .. list.length())

代替

for(i in 0 until list.length())

until一样,排除最后一个元素。

检查official doc以获得更多信息。

答案 1 :(得分:0)

实际上Volley的缓存中有错误,因此我需要使用:

Volley.newRequestQueue(this).cache.clear()

添加请求之前