摘要:我正在从一个Json获取数据,并在RecyclerView中显示数据。当用户单击某个项目时,他们应该从另一个具有匹配的“ dbn” ID的Json获取更多数据,并将其显示在另一个RecyclerView中。除了,我不知道该怎么做。我想我需要检查被单击的第一个Json项的“ dbn” id是否存在,并且与其他Json的“ dbn” id匹配。当用户单击Json1项目以从Json2获取数据时,如何检查“ dbn” ID是否存在并且在Json1和Json2之间匹配?
我已经成功创建了一种方法,该方法可从第一个Json获取数据并使用RecyclerView很好地显示数据。这是我使用第一个Json Url解析Json数据的方式。
MainActivity.java
private void jsonrequest() {
request = new JsonArrayRequest(JSON_SCHOOL_URL, new
Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
JSONObject jsonObject = null;
for (int i = 0; i < response.length(); i++){
try{
jsonObject = response.getJSONObject(i);
School school = new School();
school.setDbn(jsonObject.getString("dbn"));
school.setCity(jsonObject.getString("city"));
school.setName(jsonObject.getString("school_name"));
schoolList.add(school);
} catch (JSONException e) {
e.printStackTrace();
}
}
setupRecyclerView(schoolList);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
requestQueue = Volley.newRequestQueue(MainActivity.this);
requestQueue.add(request);
}
SchoolModelData.java
public class School {
private String dbn;
private String city;
private String name;
public School(){}
public School(String dbn, String city, String name) {
this.dbn = dbn;
this.city = city;
this.name = name;
}
public String getDbn() {
return dbn;
}
public void setDbn(String dbn) {
this.dbn = dbn;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
预期结果:用户单击Json1项目,从Json2获取与Json1项目匹配的数据。
实际结果:用户单击Json1项目,从Json2获取所有数据。