我想迭代一次线程10次..
for(final int i: list)<-- problem
{
Timer timer = new Timer();
TimerTask timertask = new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
imageView.setBackgroundResource(i);
}
};
timer.schedule(timertask,200);
}
这段代码可以做到这一点,但是eclipse建议/坚持我是最终的......
因此只显示最后一张图片..有什么方法我可以迭代这样,所有图像都显示出来,计时器可以正确运行???
也请不要推荐动画 ..它已经彻底失败了......这就是为什么我要诉诸于此......
答案 0 :(得分:2)
要修复代码,您只需使用本地变量
即可for(int i: list)<-- problem no more
{
Timer timer = new Timer();
TimerTask timertask = new TimerTask() {
// create a final variable and assign it to i
final int x = i;
@Override
public void run() {
// TODO Auto-generated method stub
imageView.setBackgroundResource(x); // then use it here
}
};
timer.schedule(timertask,200);
}
答案 1 :(得分:1)
只需在i
变量中复制final
的值:
for(int i : list) {
final int value = i;
Timer timer = new Timer();
TimerTask timertask = new TimerTask() {
@Override
public void run() {
imageView.setBackgroundResource(value);
}
};
timer.schedule(timertask,200);
}