JSONObject jsonRoot = new JSONObject(response);
ArrayList<Level2_Women> alUser = new ArrayList<>();
JSONArray parentArray = jsonRoot.getJSONArray("categories");
StringBuffer finalBufferData = new StringBuffer();
for (int j = 0; j <parentArray.length(); j++) {
JSONObject finalObject = parentArray.getJSONObject(j);
user.setCategory(finalObject.getString("category"));
String catid = finalObject.getString("category_id");
}
return user;
}
我正在使用这个循环。在我的循环中有12个元素,但它的打印只是最后一个值。如何在Listview中打印所有元素?
答案 0 :(得分:1)
使用list存储所有值,然后使用
List<String> list = new ArrayList<String>();
for (int j = 0; j <parentArray.length(); j++) {
JSONObject finalObject = parentArray.getJSONObject(j);
user.setCategory(finalObject.getString("category"));
String catid = finalObject.getString("category_id");
list.add(catid);
}
答案 1 :(得分:0)
你的循环应该是这样的:
for (int j = 0; j <parentArray.length(); j++) {
JSONObject finalObject = parentArray.getJSONObject(j);
user.setCategory(finalObject.getString("category"));
String catid = finalObject.getString("category_id");
返回用户;
} 每次迭代for循环时,return user都会返回值。 因为我认为你是java的新手excelent tutorial will help you learn a lot
答案 2 :(得分:0)
试试这个,我想你有一个用户实体
List<User> userList = new ArrayList<String>();
for (int j = 0; j <parentArray.length(); j++) {
JSONObject finalObject = parentArray.getJSONObject(j);
user.setCategory(finalObject.getString("category"));
String catid = finalObject.getString("category_id");
userList.add(user);
}
for(String k: userList)
{
System.out.println(k);
}
return userList
答案 3 :(得分:0)
错误1:您始终返回user
个对象而不是列表alUser
。
错误2:在for
圈内,您没有将个人user
添加到列表alUser
。
按以下方式更新您的方法:
public ArrayList<Level2_Women> YOUR_METHOD_NAME(String response)
{
// User List
ArrayList<Level2_Women> alUser = new ArrayList<>();
JSONObject jsonRoot = new JSONObject(response);
JSONArray parentArray = jsonRoot.getJSONArray("categories");
// Not used!
StringBuffer finalBufferData = new StringBuffer();
for (int j = 0; j <parentArray.length(); j++) {
JSONObject finalObject = parentArray.getJSONObject(j);
// User
Level2_Women user = new Level2_Women();
// Set user values
user.setCategory(finalObject.getString("category"));
// Not used!
String catid = finalObject.getString("category_id");
// Add user to list
alUser.add(user)
}
// Finally return user list
return alUser;
}
仅供参考,如果您遇到列表更新问题,请使用适配器notifyDataSetChanged()
方法更新ListView
/ RecyclerView
上的数据。
希望这会有所帮助〜