很好的一天。我想重复一个计时器(在android studio中)一定次数。计时器的持续时间也应更改(每次后续运行时,应从“mylist”中获取新的持续时间)。不幸的是,我的循环不起作用,我无法打开此循环所在的活动。以下是我的尝试:
for (int g = 0; g < 10; g++) {
int numberInt = Integer.parseInt(myList.get(g));
CountDownTimer Timer1 = new CountDownTimer(numberInt * 1000, 1000) {
public void onTick(long millisUntilFinished) {
textView.setText("" + millisUntilFinished / 1000);
i = i + 100 / numberInt;
}
public void onFinish() {
i = 0;
}
};
Timer1.start();
}
谁能告诉我,我的错在哪里?非常感谢你!
编辑以更好地理解:
我想创建一个重复10次(或更多)的计时器。我创建了一个arraylist,在其中输入了10个不同的数字。计时器的时间应与arraylist中第一次运行的项1相对应,与第二次运行的项2相对应,依此类推。第二个计时器应该等待第一个计时器完成(因此我不希望所有计时器同时运行,而是逐个运行)。我也不想只在timer1的onfinish()中创建一个timer2,然后在timer2的onfinish()中创建一个timer3。。。但我希望它可以工作无限次(因此计时器应该自动创建)。
1条答案
按热度按时间798qvoo81#
您需要在计时器完成侦听器的回调上启动下一个计时器(
onFinish
). 我建议您一次创建列表中的所有计时器,然后调用start()
相应的索引。请注意,我没有测试这段代码,它只是一个示例来说明我的意思