如何获取 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 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