在函数内部获取Titanium Mobile标签属性

时间:2012-04-02 08:28:47

标签: for-loop titanium-mobile

问题:如何确定窗口中显示的标签。

我使用Ti.UI.createLabel创建了标签,窗口中有6个。这是我初始化它们的方式:

var sitCom = Ti.UI.createlabel({
    text: 'Door',
    top: 10,
    left: 5,
    visible: false
});

我对其他变量有相同的属性,唯一的区别是text属性。

这些标签是隐藏的,只有在按下按钮时才会按需显示。我使用setVisible: true来显示它们。这很好。

然后我创建了一个循环这些变量的函数来检查显示哪一个。这个想法是,当用户点击一个按钮时,脚本会搜索可见的按钮,隐藏不相关的按钮并显示该按钮所要求的按钮。

function whatIsVisible(){
   var newArr = new Array();
   var newArr[0] = 'sitCom';
   var newArr[1] = 'dutyFree';
   var newArr[2] = 'Exclusive';
   // ...

   var i = 0;
   for (i=0; i<=6; i++) {
     var v = newArr[i].getVisible();
     Ti.UI.info(newArr[i]+ ' is '+v);
   }
}

该功能在控制台日志中显示undefined

我在这里缺少什么?我是否必须在for循环中放置一个if语句来检查每个数组?

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

这种情况正在发生,因为for循环中没有标签对象。从变量中删除'',只传递var名称。