2016-03-23 23 views
0

Appcelerator'da URL'den JSON verilerini ayrıştırmayı denedim. Tüm verileri ayrıştırdım ve liste görünümünde çıkarmaya çalıştım. Ancak, ayrıştırılan verilerdeki sadece son öğeyi gösterir (10 değer varsa, yalnızca 10 değerini gösterir). İşte kodum ve XML verilerim.Appcelerator'da doğru şekilde gösterilmeyen ayrıştırılmış liste öğeleri

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> 

Herhangi bir yardım çok takdir edilecektir. Teşekkürler

cevap

3

Bunun nedeni, döngü için contactList dizininizi yeniden tanımlamanızdır. Döngünün içinde var elementData; sonra contactList = []; juste kaldırın.

+0

Teşekkürler Thomas ... Çalışıyor :) :) – Dev786

İlgili konular