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

How can get element generated by code in Appcelerator application

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

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

 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");
}

如何获取代码生成的视图元素?

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

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

Appcelerator Documentation - getChildren