0

我正在用 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");
}

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

4

1 回答 1

1

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

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

Appcelerator 文档 - getChildren

于 2016-08-05T11:54:39.730 回答