gpt4 book ai didi

javascript - 解析的列表项未正确显示在 appcelerator 中

转载 作者:行者123 更新时间:2023-11-28 18:40:42 25 4
gpt4 key购买 nike

我尝试从 appcelerator 中的 URL 解析 JSON 数据。我解析了所有数据并尝试将其显示在 ListView 中。但它仅显示解析数据中的最后一项。(如果有 10 个可用值,则仅显示第 10 个值)。这是我的代码和 XML 数据。

  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>

任何帮助将不胜感激。谢谢

最佳答案

那是因为您在 for 循环中重新定义了 contactList 数组。在循环内的 var elementData; 之后删除 contactList = [];

关于javascript - 解析的列表项未正确显示在 appcelerator 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36175063/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com