如何在Appcelerator应用程序中获取代码生成的元素

时间:2016-06-29 07:37:34

标签: javascript appcelerator-alloy appcelerator-studio

我正在使用appcelerator studio构建应用程序。 现在我想通过代码在我的View中插入一些元素。

所以我正在构建这段代码:

 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 个答案:

答案 0 :(得分:1)

将label1添加到view1时,label1将成为view1的子级。要获取视图的子项,只需使用view.getChildren()(返回一组子项)或var someChild = view.children[number_of_child_in_array]即可获得某个孩子。

在你的情况下,var theLabel = view1.children[0]应该给你label1

Appcelerator Documentation - getChildren