私は Appcelerator Titanium APP 開発の初心者です。このリンクのインスピレーションから、各行に独自の時間が設定されているため、TableRowView で動作するカウントダウン タイマーを作成しようとしています。そして、このクラスをカスタマイズして、時間を分と秒で表示します。
各 TableRowView に次のコードを作成して、その場でリストのカウントダウンを実行しました。
コード 1
my_timer[timer_index] = new countDown(parseInt(timer_index), parseInt(15), parseInt(50),
function() {
remainingTime.text = ''+my_timer[timer_index].time.h + " : " + my_timer[timer_index].time.m + " : " + my_timer [timer_index].time.s;
}, function() {
//alert("The time is up!");
}
);
my_timer[timer_index++].start();
my_timeは、各行のカウントダウン タイマーのすべてのインスタンスをプッシュするために使用されます。
データは XHR から取得されるため、コード スニペットのようにすべてのインスタンスを保持する配列リテラルを作成しました。
問題: このコードでアプリを実行しようとすると、「time.h
未定義」などの例外が表示されます。time.h
ただし、コードでわかるように定義しました。
さらに、単一の配列を使用して、このクラスを複数のカウントダウンに使用できます
例えば:
my_timer[0] = new countDown(2,5,5,function(){
somelabel1.text = my_timer[0].time.h+":"+my_timer[0].time.m+":"+my_timer[0].time.s;
})
my_timer[1] = new countDown(2,5,5,function(){
somelabel1.text = my_timer[1].time.h+":"+my_timer[1].time.m+":"+my_timer[1].time.s;
})
上記のコードは完全に機能し、エラーはありません。しかし、このクラスをループで使用して、 Code 1のようにハードコードされた値ではなくインデックス番号を渡そうとすると、上記のように例外が表示されます。
どんな助けも非常に高く評価されます。
前もって感謝します。