2016-06-29 4 views
0

Я создаю приложение с аппликаторной студией. Теперь я хочу вставить в код какой-то элемент в моем представлении.Как получить элемент, сгенерированный кодом в приложении Appcelerator

Так я строй этого кода:

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; 
    } 
.... 
.... 

Этот код работает, но теперь я хочу, чтобы изменить Повсеместно событиечрезвычайный текст Label1. Поэтому я строю этот код, который НЕ работает:

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

Как я могу получить элемент представления, созданный кодом?

ответ

1

При добавлении метки1 в view1, label1 становится дочерним элементом view1. Чтобы получить представление детей, просто используйте view.getChildren() (возвращает массив детей) или var someChild = view.children[number_of_child_in_array], чтобы получить определенного ребенка.

В вас случае, var theLabel = view1.children[0] должен дать вам LABEL1

Appcelerator Documentation - getChildren