2016-06-29 26 views
0

Ich baue eine App mit appcelerator Studio. Jetzt möchte ich nach Code ein Element in meiner Ansicht einfügen.Wie Element durch Code in Appcelerator-Anwendung generiert werden kann

Also diesen Code Ich baue:

var view1 = Ti.UI.createView({ 
      left : 0, 
      width : "35%", 
     top: "30px" 
     }); 

    var label1 = createHeader(Titanium.Locale.getString(lang+"social_history")); 

    view1.add(label1); 

    function createHeader(headerText){ 
     var heading = Ti.UI.createView({ 
     backgroundColor : "#0c7b84" 
     }); 

     var headingText = $.UI.create("Label", { 
     classes: 'headerTableLabel' 
     }); 
     headingText.text = headerText; 

     heading.add(headingText); 

     return heading; 
    } 
.... 
.... 

Dieser Code funktioniert, aber jetzt will ich ein Ereignis einen Text von Label1 ändern throught. Also baue ich diesen Code, der nicht funktioniert:

function set_fields(lang) { 
    label1.text = Titanium.Locale.getString(lang + "social_history"); 
} 

Wie bekomme ich das Element der Ansicht, generiert durch Code?

Antwort

1

Beim Hinzufügen von label1 zu view1 wird label1 zum untergeordneten Element von view1. Um die Kinder einer Ansicht zu erhalten, verwenden Sie einfach view.getChildren() (gibt ein Array von Kindern zurück) oder var someChild = view.children[number_of_child_in_array], um ein bestimmtes Kind zu erhalten.

In Ihrem Fall sollten var theLabel = view1.children[0] geben Sie label1

Appcelerator Documentation - getChildren