Ich habe versucht, JSON-Daten von URL in appcelerator zu analysieren. Ich habe alle Daten analysiert und versucht, sie in einer Listenansicht auszugeben. Es wird jedoch nur das letzte Element in den geparsten Daten angezeigt (wenn 10 Werte verfügbar sind, wird nur der 10. Wert angezeigt). Hier sind meine Code- und XML-Daten.Geparste Listenelemente, die in appcelerator nicht korrekt angezeigt werden
var contactList = [];
var contactsArray,cId,cName,cEmail,cAddr,cGender;
var xhr = Ti.Network.createHTTPClient({
onload : function() {
var jsonParse = JSON.parse(this.responseText);
for (var i = 0; i < jsonParse.contacts.length; i++) {
contactsArray = jsonParse.contacts[i];
cId = contactsArray.id;
cName = contactsArray.name;
cEmail = contactsArray.email;
cAddr = contactsArray.address;
cGender = contactsArray.gender;
var elementData;
contactList = [];
contactData = {
"name_label" : {
text : cName,
},
"email_label" : {
text : cEmail,
},
"addr_label" : {
text : cAddr,
},
"gender_label" : {
text : cGender,
},
"template" : "list_template_wh",
"properties" : {
itemId : cId,
backgroundColor : "transparent"
}
};
contactList.push(contactData);
};
$.contactListView.sections[0].setItems(contactList);
},
onerror : function() {
Ti.API.debug(e.error);
},
timeout : 5000
});
xhr.open("GET", Alloy.Globals.AppURL);
xhr.send();
This is my xml code
<Alloy>
<Window id="win_main" title="Window Main">
<ListView id="contactListView" >
<Templates>
<ItemTemplate name="list_template_wh" id="list_temp_wh">
<View id="list_item_container">
<Label bindId="name_label" id="contact_name"/>
<Label bindId="email_label" id="contact_email"/>
<Label bindId="addr_label" id="contact_addr"/>
<Label bindId="gender_label" id="contact_gen"/>
</View>
</ItemTemplate>
</Templates>
<ListSection/>
</ListView>
</Window>
</Alloy>
Jede Hilfe wird sehr geschätzt. Danke
Danke Thomas ... Es funktioniert :) :) – Dev786