【发布时间】:2018-04-16 11:02:14
【问题描述】:
为每个循环设置计时器意味着如果数组中有 3 个项目并访问我们需要调用 forloop 的那些。我想要的是当第一个循环运行时它应该运行到特定时间。然后第二个循环以给定的特定时间运行。我已经尝试过使用 Handler 的时间延迟,但它不起作用。在 Handler 中,所有循环一次运行,但在特定时间后执行。我不知道如何为每个循环设置计时器。
{
"tp_id": 85,
"id": 15,
"therapy_type": 1,
"mode": 0,
"level": 5,
"duration": 7
},
{
"tp_id": 85,
"id": 16,
"therapy_type": 2,
"mode": 3,
"level": 4,
"duration": 1
},
{
"tp_id": 85,
"id": 17,
"therapy_type": 1,
"mode": 3,
"level": 4,
"duration": 1
}
我正在从上述这些数组中访问持续时间值,并希望以特定的持续时间运行每个循环。我尝试过延迟时间,但没有按我的意愿工作。
for(int i=0;i<type.size();i++){
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Log.e("chekkk",""+i);
}
}, duration.get(i) * 1000);
}
【问题讨论】:
-
尝试使用
ExecutorServicefrom concurrency framework依次运行 -
@NileshRathod,不,它不是那个重复的,因为我已经解决了那个问题。