2016-07-27 58 views
0

大家好我有一个问题,我会设置jsonarray内jsonarray的customlisview值。我做了,但我得到的LoadList jsonarray的数据,我没有多个jsonarray数据。我该如何解决这个问题?我的JSONObject数据是这里 `设置json对象自定义列表视图

{ 
"PositionId": "574c1ccd02182121008b1980", 
    "PositionRefNo": "00353","PositionInformation": { 
    "LastActionTypeItem": null, 
    "LastActionTime": null, 
    "UseableActionTypes": [{ 
     "ActionType": "StartPosition", 
     "ActionTypeDisplay": "Start" 
    }], 
    "LoadList": [{ 
      "Id": "5714ef197283771ac820269f", 
      "OrderDate": "2016-04-18T17:25:00+03:00", 
      "RefNo": "00265", 
      "StatusName": "bla bla", 
      "BranchName": "xxxxx", 
      "ArrivalBranchName": "aaaaaa", 
      "DepartureCityName": "bbbbb", 
      "DepartureCountyName": "", 
      "ArrivalCityName": "", 
      "ArrivalCountyName": "", 
      "OrderContent": "10 ", 
      "UnloadingCustomerAddressType": "Warehouse" 
     }, { 
      "Id": "5714f761728377367414db0b", 
      "OrderDate": "2016-04-18T18:02:00+03:00", 
      "RefNo": "00266", 
      "StatusName": "", 
      "BranchName": "", 
      "ArrivalBranchName": "", 
      "DepartureCityName": "", 
      "DepartureCountyName": "", 
      "ArrivalCityName": "", 
      "ArrivalCountyName": "", 
      "OrderContent": "4 Palet", 
      "UnloadingCustomerAddressType": "Warehouse" 
     }, { 
      "Id": "5716432372837636548073ae", 
      "OrderDate": "2016-04-19T17:39:00+03:00", 
      "RefNo": "00266-001", 
      "StatusName": "", 
      "BranchName": "", 
      "ArrivalBranchName": "", 
      "DepartureCityName": "", 
      "DepartureCountyName": "", 
      "ArrivalCityName": "", 
      "ArrivalCountyName": "", 
      "OrderContent": "1 Piece", 
      "UnloadingCustomerAddressType": "www" 
     }, { 
      "Id": "571641967507d650b49c805a", 
      "OrderDate": "2016-04-19T16:51:00+03:00", 
      "RefNo": "00268", 
      "StatusName": "cc", 
      "BranchName": "dd", 
      "ArrivalBranchName": "ee", 
      "DepartureCityName": "ff", 
      "DepartureCountyName": "gg", 
      "ArrivalCityName": "g", 
      "ArrivalCountyName": "", 
      "OrderContent": "10 Palet", 
      "UnloadingCustomerAddressType": "" 
     }], 
     "Status": true, 
     "Message": "",      
    } 
} 

'和我的Android机型

public class DomMobileLoadList { 

    private String PositionId; 
    private String PositionRefNo; 
    private String Message; 
    private Boolean Status; 
    private ArrayList<LoadList> LoadList; 
    private ArrayList<PositionInformation> PositionInformation; 


    public DomMobileLoadList(JSONObject jObj) throws JSONException 
    { 
     this.PositionId = jObj.isNull("PositionId") || jObj.getString("PositionId").equals("null") ? "" : jObj.optString("PositionId"); 
     this.PositionRefNo = jObj.isNull("PositionRefNo") || jObj.getString("PositionRefNo").equals("null") ? "" : jObj.optString("PositionRefNo"); 
     this.Message = jObj.isNull("Message") || jObj.getString("Message").equals("null") ? "" : jObj.optString("Message"); 
     this.Status = jObj.optBoolean("Status"); 

     if(!jObj.isNull("LoadList")) 
     {   
      /* 
      JSONObject jsonObject = jObj.getJSONObject("LoadList"); 
      this.LoadList = new ArrayList<LoadList>();   
      this.LoadList.add(new LoadList(jsonObject)); 
      */ 
      this.LoadList = new ArrayList<LoadList>(); 
      JSONArray array = jObj.getJSONArray("LoadList"); 
      for (int i = 0; i < array.length(); i++) 
      { 
       this.LoadList.add(new LoadList(array.getJSONObject(i))); 
      } 

     } 
     if(!jObj.isNull("PositionInformation")) 
     { 

      JSONObject jobposInfo = jObj.getJSONObject("PositionInformation"); 
      this.PositionInformation = new ArrayList<PositionInformation>(); 
      this.PositionInformation.add(new PositionInformation(jobposInfo));   

     } 
    } 





    public String getPositionId() { 
     return PositionId; 
    } 

    public void setPositionId(String positionId) { 
     PositionId = positionId; 
    } 

    public String getPositionRefNo() { 
     return PositionRefNo; 
    } 

    public void setPositionRefNo(String positionRefNo) { 
     PositionRefNo = positionRefNo; 
    } 

    public String getMessage() { 
     return Message; 
    } 

    public void setMessage(String message) { 
     Message = message; 
    } 

    public Boolean getStatus() { 
     return Status; 
    } 

    public void setStatus(Boolean status) { 
     Status = status; 
    } 

    public ArrayList<LoadList> getLoadList() { 
     return LoadList; 
    } 

    public void setLoadList(ArrayList<LoadList> loadList) { 
     LoadList = loadList; 
    } 

} 

最后我BaseAdapter代码这里是

public class DomMobileLoadListAdapter extends BaseAdapter{ 

    // LoadList vardı DomMobileLoadList olarak değiştirdim . 
    Activity activity; 
    private ArrayList<DomMobileLoadList> items; 
    private LayoutInflater inflater = null; 

    public DomMobileLoadListAdapter(Activity activity, ArrayList<DomMobileLoadList> items) { 
     this.activity = activity; 
     this.items = items; 
     this.inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    }  


    @Override 
    public int getCount() { 
     // TODO Auto-generated method stub 
     return items.size(); 

    } 

    @Override 
    public Object getItem(int position) { 

     return position; 
    } 

    public DomMobileLoadList getLast() 
    { 
     return this.items.get(getCount()-1); 
    } 

    @Override 
    public long getItemId(int position) { 
     // TODO Auto-generated method stub 
     return position; 
    } 

    public void insertItem(int index, DomMobileLoadList item) 
     { 
      this.items.add(index, item); 
     } 

     public void addItem(DomMobileLoadList item) 
     { 
      this.items.add(item); 
     } 

     public ArrayList<DomMobileLoadList> getItems() 
     { 
      return this.items; 
     } 

     public void removeItem(int position) 
     { 
      this.items.remove(position); 
     } 

     public void removeItem(LoadList item) 
     { 
      this.items.remove(item); 
     } 

    @SuppressWarnings("unused") 
    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 

     View vi = convertView; 
     final DomMobileLoadList item = items.get(position); 

       if(convertView == null) 
       vi = inflater.inflate(R.layout.dom_position_details, null); 
       TextView txt_departurecityname=(TextView)vi.findViewById(R.id.departure_city_name); 
       TextView txt_departurecountyname = (TextView)vi.findViewById(R.id.departure_countname); 
       TextView txt_arrivalcityname = (TextView)vi.findViewById(R.id.arrival_cityname); 
       TextView txt_arrivalcountyname = (TextView)vi.findViewById(R.id.arrival_countname); 
       TextView txt_branchname = (TextView)vi.findViewById(R.id.txt_antrepo); 
       TextView txt_ordercontent = (TextView)vi.findViewById(R.id.txt_ordercontent); 
       TextView txt_unloadingcustomeraddresstype =(TextView)vi.findViewById(R.id.txt_unloadingcustomeraddresstype); 

       /* 
       txt_departurecityname.setText(item.getDepartureCityName()); 
       txt_departurecountyname.setText(item.getDepartureCountyName()); 
       txt_arrivalcityname.setText(item.getArrivalCityName()); 
       txt_arrivalcountyname.setText(item.getArrivalCountyName()); 
       txt_branchname.setText(item.getBranchName());   
       txt_ordercontent.setText(item.getOrderContent()); 
       txt_unloadingcustomeraddresstype.setText(item.getUnloadingCustomerAddressType()); 
       */ 
       for (int i = 0; i < item.getLoadList().size(); i++) { 

        txt_arrivalcityname.setText(item.getLoadList().get(i).getArrivalCityName()); 
        txt_departurecountyname.setText(item.getLoadList().get(i).getDepartureCountyName()); 
        txt_arrivalcityname.setText((item.getLoadList().get(i).getArrivalCityName())); 
        txt_arrivalcountyname.setText((item.getLoadList().get(i).getArrivalCountyName())); 
        txt_branchname.setText((item.getLoadList().get(i).getBranchName()));    
        txt_ordercontent.setText((item.getLoadList().get(i).getOrderContent())); 
        txt_unloadingcustomeraddresstype.setText((item.getLoadList().get(i).getUnloadingCustomerAddressType())); 


       } 

       return vi; 
    } 

} 

在我LoadList类

public LoadList(JSONObject jObj) throws JSONException 
    { 
     this.Id = jObj.isNull("Id") || jObj.getString("Id").equals("null") ? "" : jObj.optString("Id"); 
     this.OrderDate = jObj.isNull("OrderDate") || jObj.getString("OrderDate").equals("null") ? "" : jObj.optString("OrderDate"); 
     this.RefNo = jObj.isNull("RefNo") || jObj.getString("RefNo").equals("null") ? "" : jObj.optString("RefNo"); 
     this.StatusName = jObj.isNull("StatusName") || jObj.getString("StatusName").equals("null") ? "" : jObj.optString("StatusName"); 
     this.BranchName = jObj.isNull("BranchName") || jObj.getString("BranchName").equals("null") ? "" : jObj.optString("BranchName"); 
     this.ArrivalBranchName = jObj.isNull("ArrivalBranchName") || jObj.getString("ArrivalBranchName").equals("null") ? "" : jObj.optString("ArrivalBranchName"); 
     this.DepartureCityName = jObj.isNull("DepartureCityName") || jObj.getString("DepartureCityName").equals("null") ? "" : jObj.optString("DepartureCityName"); 
     this.DepartureCountyName = jObj.isNull("DepartureCountyName") || jObj.getString("DepartureCountyName").equals("null") ? "" : jObj.optString("DepartureCountyName"); 
     this.ArrivalCityName = jObj.isNull("ArrivalCityName") || jObj.getString("ArrivalCityName").equals("null") ? "" : jObj.optString("ArrivalCityName"); 
     this.ArrivalCountyName = jObj.isNull("ArrivalCountyName") || jObj.getString("ArrivalCountyName").equals("null") ? "" : jObj.optString("ArrivalCountyName"); 
     this.OrderContent = jObj.isNull("OrderContent") || jObj.getString("OrderContent").equals("null") ? "" : jObj.optString("OrderContent"); 
     this.UnloadingCustomerAddressType = jObj.isNull("UnloadingCustomerAddressType") || jObj.getString("UnloadingCustomerAddressType").equals("null") ? "" : jObj.optString("UnloadingCustomerAddressType"); 

    } 


    public LoadList() { 
     // TODO Auto-generated constructor stub 
    } 

    public String getId() { 
     return Id; 
    } 
    public void setId(String id) { 
     Id = id; 
    } 
    public String getOrderDate() { 
     return OrderDate; 
    } 
    public void setOrderDate(String orderDate) { 
     OrderDate = orderDate; 
    } 

    public String getStatusName() { 
     return StatusName; 
    } 
    public void setStatusName(String statusName) { 
     StatusName = statusName; 
    } 
    public String getBranchName() { 
     return BranchName; 
    } 
    public void setBranchName(String branchName) { 
     BranchName = branchName; 
    } 
    public String getArrivalBranchName() { 
     return ArrivalBranchName; 
    } 
    public void setArrivalBranchName(String arrivalBranchName) { 
     ArrivalBranchName = arrivalBranchName; 
    } 
    public String getDepartureCityName() { 
     return DepartureCityName; 
    } 
    public void setDepartureCityName(String departureCityName) { 
     DepartureCityName = departureCityName; 
    } 
    public String getDepartureCountyName() { 
     return DepartureCountyName; 
    } 
    public void setDepartureCountyName(String departureCountyName) { 
     DepartureCountyName = departureCountyName; 
    } 
    public String getArrivalCityName() { 
     return ArrivalCityName; 
    } 
    public void setArrivalCityName(String arrivalCityName) { 
     ArrivalCityName = arrivalCityName; 
    } 
    public String getArrivalCountyName() { 
     return ArrivalCountyName; 
    } 
    public void setArrivalCountyName(String arrivalCountyName) { 
     ArrivalCountyName = arrivalCountyName; 
    } 
    public String getOrderContent() { 
     return OrderContent; 
    } 
    public void setOrderContent(String orderContent) { 
     OrderContent = orderContent; 
    } 

    public String getRefNo() { 
     return RefNo; 
    } 

    public void setRefNo(String refNo) { 
     RefNo = refNo; 
    } 

    public String getPositionRefNo() { 
     return PositionRefNo; 
    } 

    public void setPositionRefNo(String positionRefNo) { 
     PositionRefNo = positionRefNo; 
    } 

    public String getUnloadingCustomerAddressType() { 
     return UnloadingCustomerAddressType; 
    } 

    public void setUnloadingCustomerAddressType(
      String unloadingCustomerAddressType) { 
     UnloadingCustomerAddressType = unloadingCustomerAddressType; 
    } 
} 
+0

什么是错误日志? –

+0

我没有错误日志我得到的数据只有一个项目。我会在customlisview上设置多个数据 – gkhngngr

+0

是否无法从loadlist数组中获取其他项目? – Andolasoft

回答

0

适配器,你不得不膨胀xml文件并从列表中填充当前位置数据,如下所示:

 txt_arrivalcityname.setText(items.get(position).getArrivalCityName()); 

    txt_departurecountyname.setText(items.get(position).getDepartureCountyName()); 

    txt_arrivalcityname.setText((items.get(position).getArrivalCityName())); 

    txt_arrivalcountyname.setText((items.get(position).getArrivalCountyName())); 

    txt_branchname.setText((items.get(position).getBranchName()));    

    txt_ordercontent.setText((items.get(position).getOrderContent())); 

    txt_unloadingcustomeraddresstype.setText((items.get(position).getUnloadingCustomerAddressType())); 
+0

例如my getArrivalCityName();没有DomLoadList类。在另一个页面getLoadList() – gkhngngr

+0

但作为你的代码,方法getLoadList()返回对象列表,所以在哪个对象是你的arraivalCityName? –