我在从Volley处获得回复时遇到问题。我的表中有3个数据,但是凌空只返回2个数据。这是我在浏览器中得到的: 凌空只返回索引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)
答案 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()
添加请求之前