Android 如何在水平Listview中获取动态数据
我正在从url进行解析,以便将数据放入水平Listview 它工作正常,但只显示json对象的最后一个值。我在下面粘贴了我的json解析和json。请告诉我哪里做错了 这是我的jsonAndroid 如何在水平Listview中获取动态数据,android,json,parsing,Android,Json,Parsing,我正在从url进行解析,以便将数据放入水平Listview 它工作正常,但只显示json对象的最后一个值。我在下面粘贴了我的json解析和json。请告诉我哪里做错了 这是我的json { "status": 1, "category": [ { "id": 1, "category_name_en": "car", "category_name_ar": "car",
{
"status": 1,
"category": [
{
"id": 1,
"category_name_en": "car",
"category_name_ar": "car",
"description_en": "",
"description_ar": "",
"day": "monday,tuesday,wednesday,thursday,friday,saturday,sunday",
"status": "A",
"created_at": "Sep 4 2017 8:09 AM",
"updated_at": "Sep 4 2017 8:09 AM",
"sub_category": [
{
"id": 1,
"sub_category_name_en": "Audi",
"sub_category_name_ar": "Audi",
"sub_description_en": "",
"sub_description_ar": "",
"status": "A",
"created_at": "Sep 4 2017 8:10 AM",
"updated_at": "Sep 4 2017 8:10 AM"
},
{
"id": 4,
"sub_category_name_en": "New",
"sub_category_name_ar": "New",
"sub_description_en": "",
"sub_description_ar": "",
"status": "A",
"created_at": "Sep 4 2017 9:45 AM",
"updated_at": "Sep 4 2017 9:45 AM"
}
]
},
{
"id": 2,
"category_name_en": "Animal",
"category_name_ar": "Animal",
"description_en": "",
"description_ar": "",
"day": "monday,tuesday,wednesday,thursday,friday,saturday,sunday",
"status": "A",
"created_at": "Sep 4 2017 9:19 AM",
"updated_at": "Sep 4 2017 9:19 AM",
"sub_category": [
{
"id": 2,
"sub_category_name_en": "Dogs",
"sub_category_name_ar": "Dogs",
"sub_description_en": "",
"sub_description_ar": "",
"status": "A",
"created_at": "Sep 4 2017 9:20 AM",
"updated_at": "Sep 4 2017 9:20 AM"
},
{
"id": 3,
"sub_category_name_en": "Cat",
"sub_category_name_ar": "Cat",
"sub_description_en": "",
"sub_description_ar": "",
"status": "A",
"created_at": "Sep 4 2017 9:21 AM",
"updated_at": "Sep 4 2017 9:21 AM"
}
]
}
]
}
这是我的解析
这里我正在进行解析,它返回的json对象大小正确,但它只显示最后一个值
我错在哪里。请推荐我
public static ArrayList<CardData> PaeseBanner(String response) throws JSONException {
ArrayList<CardData> alUser = new ArrayList<>();
JSONObject jsonRoot = new JSONObject(response);
JSONArray jsonArray = jsonRoot.getJSONArray("category");
CardData LT = new CardData();
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
JSONObject jsonObject2 = null;
JSONArray jsonArray1 = jsonObject.getJSONArray("sub_category");
for (int j = 0; j < jsonArray1.length(); j++) {
jsonObject2 = jsonArray1.getJSONObject(j);
LT.setSubcategory_name(jsonObject2.getString("sub_category_name_en"));
alUser.add(LT);
}
}
return alUser;
}
publicstaticarraylistpaesebanner(字符串响应)抛出JSONException{
ArrayList alUser=新的ArrayList();
JSONObject jsonRoot=新的JSONObject(响应);
JSONArray JSONArray=jsonRoot.getJSONArray(“类别”);
CardData LT=新的CardData();
for(int i=0;i
这是我的屏幕短片
试试这个
for (int j = 0; j < jsonArray1.length(); j++) {
CardData LT = new CardData(); // Create new CardData object inside second for loop
jsonObject2 = jsonArray1.getJSONObject(j);
LT.setSubcategory_name(jsonObject2.getString("sub_category_name_en"));
alUser.add(LT);
}
for(int j=0;j
使用以下行:
CardData LT = new CardData();
及
内部为循环。像这样:
public static ArrayList<CardData> PaeseBanner(String response) throws JSONException {
ArrayList<CardData> alUser = new ArrayList<>();
JSONObject jsonRoot = new JSONObject(response);
JSONArray jsonArray = jsonRoot.getJSONArray("category");
for (int i = 0; i < jsonArray.length(); i++) {
CardData LT = new CardData();
JSONObject jsonObject = jsonArray.getJSONObject(i);
JSONArray jsonArray1 = jsonObject.getJSONArray("sub_category");
for (int j = 0; j < jsonArray1.length(); j++) {
JSONObject jsonObject2 = null;
jsonObject2 = jsonArray1.getJSONObject(j);
LT.setSubcategory_name(jsonObject2.getString("sub_category_name_en"));
alUser.add(LT);
}
}
return alUser;
}
publicstaticarraylistpaesebanner(字符串响应)抛出JSONException{
ArrayList alUser=新的ArrayList();
JSONObject jsonRoot=新的JSONObject(响应);
JSONArray JSONArray=jsonRoot.getJSONArray(“类别”);
for(int i=0;i
public static ArrayList<CardData> PaeseBanner(String response) throws JSONException {
ArrayList<CardData> alUser = new ArrayList<>();
JSONObject jsonRoot = new JSONObject(response);
JSONArray jsonArray = jsonRoot.getJSONArray("category");
for (int i = 0; i < jsonArray.length(); i++) {
CardData LT = new CardData();
JSONObject jsonObject = jsonArray.getJSONObject(i);
JSONArray jsonArray1 = jsonObject.getJSONArray("sub_category");
for (int j = 0; j < jsonArray1.length(); j++) {
JSONObject jsonObject2 = null;
jsonObject2 = jsonArray1.getJSONObject(j);
LT.setSubcategory_name(jsonObject2.getString("sub_category_name_en"));
alUser.add(LT);
}
}
return alUser;
}