我正在使用JSON创建一个获取附近位置的应用,并将其显示在recyclerview中。我的问题是,我真的不确定我在这里做错了什么因为一切看起来都很好。
这是我阅读JSON的代码:
private void loadRecyclerViewData(){
final ProgressDialog progressDialog = new ProgressDialog(this);
progressDialog.setMessage("Loading data ...");
progressDialog.show();
StringRequest stringRequest = new StringRequest(Request.Method.GET, URLDATA,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
progressDialog.dismiss();
try {
JSONObject jsonObject = new JSONObject(response);
JSONArray jsonArray = jsonObject.getJSONArray("results");
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject o = jsonArray.getJSONObject(i);
List_Item item = new List_Item(o.getString("name"), o.getString("reference"));
listItems.add(item);
System.out.println("My List Item: " + listItems);
}
adapter = new MyAdapter(listItems, getApplicationContext());
recyclerView.setAdapter(adapter);
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
progressDialog.dismiss();
Toast.makeText(getApplicationContext(), "Error: " + error.getMessage(), Toast.LENGTH_SHORT).show();
}
});
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}
这是我的JSON结构:
答案 0 :(得分:1)
您应该设置布局管理器。
LinearLayoutManager layoutManager
= new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false);
reycyclerview.setLayoutManager(layoutManager);