2016-09-15 108 views
0

我有一个从服务器返回的信息列表,我将它放在名为“items”的数组列表中。我想知道如何只提取部门并将它们放入一个简单的字符串数组中,我已将其命名为部门列表。向android中的数组添加元素

这是列表的样子

[ 
    { 
"Department": "Mobile Development", 
    "Department": 22 
    }, 
    { 
    " "Department": "IT Support", 
    "Department": 13 
    }] 

这是我迄今编码,但是我觉得有一个与我想在我的添加对每个方式有问题。

private void loadCompanyInfo() { 
    //final Context context = this.getActivity(); 
    final Context context = this.context; 
     Organization client = new Organization(context); 

     Organization.api(context).getCompanyInforamtion(client.getID()).enqueue(new Callback<Results<CostCentresResult>>() { 
     @Override 
     public void onResponse(Call<Results<CostCentresResult>> call, Response<Results<CostCentresResult>> response) { 
      if (response.isSuccessful()) { 
       try { 
        Items = new ArrayList<>(); 
        companyInfoList = new ArrayList<>(); 

        Items.addAll(response.body()); 
        if(Items.contains("Department")) { 
        Items.get(Items.indexOf(0)); 

        for (int i = 0; i < Items.size(); i++) { 
         companyInfoList.add(Items[0]) 
        } 

        } 

       } catch (Exception ex ) { 
        ex.printStackTrace(); 
        ex.getMessage(); 
        ex.getCause(); 
        ex.getClass(); 
       } 
      } 
     } 
     @Override 
     public void onFailure(Call<Results<CostCentresResult>> call, Throwable t) { 
// TODO: handle ex 
      Errors.handleException(t); 
     } 

     }); 
    } 

} 
+0

能否请你把你的POJO类在这里? –

+0

你的JSON是错的 – Nikhil

+0

我其实只是想知道如何从第一个arraylist(Items)中提取部门并将它们添加到另一个ArrayList(companyInfoList)中; – Zidane

回答

0

下面的代码将帮助您从您的服务器响应得到主管部门的名单:

try { 
      ArrayList<String> mDepartmentList = new ArrayList<String>(); 
      JSONArray serverResponseJsonArray = new JSONArray(response.body()); 
      if (serverResponseJsonArray != null 
        && serverResponseJsonArray.length() > 0) { 
       for (int i = 0; i < serverResponseJsonArray.length(); i++) { 
        JSONObject departmentJsonObj = serverResponseJsonArray 
          .getJSONObject(i); 
        if (departmentJsonObj != null 
          && !departmentJsonObj.equals("")) { 
         if (departmentJsonObj.has("Department")) { 
          mDepartmentList.add(departmentJsonObj 
            .getString("Department")); 
         } 
        } 
       } 
      } 

     } catch (Exception e) { 
      // TODO: handle exception 
      e.printStackTrace(); 
     }