截击响应不是 return 完整数据
Volley response not return full data
我无法从 Volley 获得回复。我在表中有 3 个数据,但只有 returns 2 个数据。这是我在浏览器中得到的:
而 volley returns 只有索引 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)
尝试使用
for(i in 0 .. list.length())
而不是
for(i in 0 until list.length())
因为 until
排除了最后一个元素。
查看 official doc 了解更多信息。
实际上Volley的缓存有错误,所以我需要使用:
Volley.newRequestQueue(this).cache.clear()
在添加请求之前
我无法从 Volley 获得回复。我在表中有 3 个数据,但只有 returns 2 个数据。这是我在浏览器中得到的:
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)
尝试使用
for(i in 0 .. list.length())
而不是
for(i in 0 until list.length())
因为 until
排除了最后一个元素。
查看 official doc 了解更多信息。
实际上Volley的缓存有错误,所以我需要使用:
Volley.newRequestQueue(this).cache.clear()
在添加请求之前