0

Ich bin eine App mit Appcelerator erstellen, die eine ListView mit einer benutzerdefinierten Vorlage anzeigen. Dies So ist der Code meiner XML-Datei:Nie mit einem benutzerdefinierten ListView in Appcelerator

<ListView id="elementsList" defaultItemTemplate="elementTemplate"> 
      <Templates> 
       <ItemTemplate name="elementTemplate" class="itemTemplate"> 

        <View id="atomProperties"> 
         <Label bindId="name" id="name" /> 
         <View id="secondLine"> 
          <Label class="line2 fieldLabel" text="from: " /> 
          <Label class="line2" bindId="dateStart" id="dateStart" /> 
          <Label class="line2 fieldLabel" text=" to: " /> 
          <Label class="line2" bindId="dateEnd" id="dateEnd" /> 
         </View> 
         <Label bindId="quantity" id="quantity" left="0"/> 
        </View> 
       </ItemTemplate> 
      </Templates> 
      <ListSection>    
       <ListItem quantity:text="10 minute" quantity:color="#090" name:text="Hydrogen" dateStart:text="10-10-2016" dateEnd:text="10-12-2016"/> 
       <ListItem quantity:text="15 minute" quantity:color="#090" name:text="Helium" dateStart:text="02-01-2015" dateEnd:text="10-10-2019"/> 
       <ListItem quantity:text="25 minute" quantity:color="#090" name:text="Lithium" dateStart:text="01-01-2001" dateEnd:text="01-01-2018"/> 
       <ListItem quantity:text="10 minute" quantity:color="#090" name:text="Hydrogen" dateStart:text="10-10-2016" dateEnd:text="10-12-2016"/> 
       <ListItem quantity:text="15 minute" quantity:color="#090" name:text="Helium" dateStart:text="02-01-2015" dateEnd:text="10-10-2019"/> 
       <ListItem quantity:text="25 minute" quantity:color="#090" name:text="Lithium" dateStart:text="01-01-2001" dateEnd:text="01-01-2018"/> 
      </ListSection> 
     </ListView> 

Dies ist ein Teil meiner tss-Datei ist:

"ListItem": { 
    accessoryType: Titanium.UI.LIST_ACCESSORY_TYPE_DISCLOSURE 
} 

Also, wenn ich versuche, meine Anwendung zu starten, kann ich sehen:

enter image description here

Und das ist in Ordnung. Jetzt möchte ich eine ListSection mit Daten aus einer Datenbank festlegen.

So bin ich von meinem XML-Datei diesen Code löschen:

<ListItem quantity:text="10 minute" quantity:color="#090" name:text="Hydrogen" dateStart:text="10-10-2016" dateEnd:text="10-12-2016"/> 
       <ListItem quantity:text="15 minute" quantity:color="#090" name:text="Helium" dateStart:text="02-01-2015" dateEnd:text="10-10-2019"/> 
       <ListItem quantity:text="25 minute" quantity:color="#090" name:text="Lithium" dateStart:text="01-01-2001" dateEnd:text="01-01-2018"/> 
       <ListItem quantity:text="10 minute" quantity:color="#090" name:text="Hydrogen" dateStart:text="10-10-2016" dateEnd:text="10-12-2016"/> 
       <ListItem quantity:text="15 minute" quantity:color="#090" name:text="Helium" dateStart:text="02-01-2015" dateEnd:text="10-10-2019"/> 
       <ListItem quantity:text="25 minute" quantity:color="#090" name:text="Lithium" dateStart:text="01-01-2001" dateEnd:text="01-01-2018"/> 

Und von meinem controller.js Ich baue diesen Code:

function populateTable(){ 
    var collection = Alloy.createCollection("SocialHistoryDAO"); 
    collection.fetch(); 
    collection.forEach(function(e, i, a) { 
     items.push({      
      dateStart : {text : e.get("DateStart")}, 
     name : {text : e.get("DisplayName")}, 
     dateEnd : {text : e.get("DateEnd")}, 
     quantity : {color:"#090", text : e.get("Quantity")+" "+e.get("UnityMeasure")}    
     }); 
    }); 
    $.elementsList.sections[0].setItems(items); 

} 

Wenn ich versuche, meine Anwendung zu starten Ich kann eine Listenansicht nie Symbol ">" rechts von jedem Artikel sehen.

Wie kann ich es reparieren?

Antwort

1

Es sind keine ListItems in Ihrem Code mehr vorhanden, daher wird das Hinzufügen von Stilen natürlich nicht funktionieren.

Sie können jedoch einfach ein Template stylen. Ändern Sie die Kennung und es sollte funktionieren

".itemTemplate": { 
    accessoryType: Titanium.UI.LIST_ACCESSORY_TYPE_DISCLOSURE 
} 
Verwandte Themen