[英]set json object custom listview
大家好,我有一個問題,我會從jsonarray內的jsonobject設置customlisview的值。 我做了,但是,我只得到LoadList jsonarray的數據,沒有多個jsonarray數據。 我該如何解決這個問題? 我的jsonobject數據在這里`
{
"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;
}
}
在適配器中,您必須為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()));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.