TableViewRow がいくつかある状態で、例えば
- 最初はデフォルト画像を表示させて
- 後から全ての TableViewRow に add してある imageView.image を違う画像に差し替える
とかやりたい時に必ずエラーになってしまう。
imageView.image にアクセスするのが、rows[n].getChildren()[3].image だとして
2番目の tableViewRow だけを差し替える場合、
setTimeout(function(){
tableView.data[0].rows[1].getChildren()[3].image = 'http://graph.facebook.com/1282639350/picture?type=square';
}, 3000);
これはちゃんと動く。
全ての tableViewRow を対象にしたいので、for で回して、
setTimeout(function(){
for (var i = 0; i < data.length; i++) {
tableView.data[0].rows[i].getChildren()[3].image = 'http://graph.facebook.com/1282639350/picture?type=square';
}
}, 3000);
これはエラーになってしまう。
Titanium Studio のエラーメッセージ
[ERROR] Script Error = 'undefined' is not an object (evaluating 'tableView.data[0].rows[i].getChildren()[3].image = 'http://graph.facebook.com/1282639350/picture?type=square'') at list_friend.js (line 252).
多分、rows[i]
のような数字以外の変数を入れてしまうと認識できないみたい。
フォーラムにも同じようなポストがあって、まだ解決できていないようだ。
- http://developer.appcelerator.com/question/113381/looping-through-tableview-to-toggle-selected-row
- http://developer.appcelerator.com/question/56151/changing-all-rows-in-a-tableview
どなたか解決方法を知ってらっしゃたら教えてくださいませ。