I have 384 objects on screen that I need to iterate through in a specific order, changing their properties according to a changing variable. Here's what the objects look like in the .xml file:
<View formFactor="tablet" id="res1_1" class="resBit" left="1.5%" bottom="25.0%" />
<View formFactor="tablet" id="res1_2" class="resBit" left="1.5%" bottom="27.3%" />
<View formFactor="tablet" id="res1_3" class="resBit" left="1.5%" bottom="29.6%" />
<View formFactor="tablet" id="res1_4" class="resBit" left="1.5%" bottom="31.9%" />
[...]
<View formFactor="tablet" id="res16_22" class="resBit" left="93.0%" bottom="73.3%" />
<View formFactor="tablet" id="res16_23" class="resBit" left="93.0%" bottom="75.6%" />
<View formFactor="tablet" id="res16_24" class="resBit" left="93.0%" bottom="77.9%" />
This is what the javascript looks like:
// theValues rotates between a set of 100 or so such combinations
theValues = "2,2,3,4,5,5,4,3,2,2,3,4,5,5,4,3".split(",");
// Start on the left and move right
for (i=1; i<17; i++) {
// Start at the bottom and move up
for (ii=1; ii<25; ii++) {
if (ii < (theValues[i-1]) - 1) {
// Make first row solid
if (i == 1) { eval('$.res' + i + '_' + ii + '.setOpacity(1);'); }
// Paint reds
eval('$.res' + i + '_' + ii + '.setBackgroundColor("red");');
}
}
}
And the error I'm getting is:
[ERROR] : TiExceptionHandler: (main) [10567,152803] ----- Titanium Javascript Runtime Error -----
[ERROR] : TiExceptionHandler: (main) [0,152803] - In undefined:1,1
[ERROR] : TiExceptionHandler: (main) [0,152803] - Message: Uncaught ReferenceError: $ is not defined
[ERROR] : TiExceptionHandler: (main) [1,152804] - Source: $.res1_1.setOpacity(1);
If I just write $.res1_1.setOpacity(1);
directly in the code, it works. It's the eval that breaks it. Thoughts? Thanks.