在Android中,想要TranslateAnimation与for循环一起用,但运行结果只有最后一次循环移动,不明求教

void action(int fromXDelta, int toXDelta, int fromYDelta, int toYDelta) {
// 平移 setFillAfter(true) 控制执行动画后定在当前状态
Animation translateIn = new TranslateAnimation(fromXDelta, toXDelta,
fromYDelta, toYDelta);
translateIn.setDuration(3000);
translateIn.setFillAfter(true);
scanLight.startAnimation(translateIn);
translateIn.cancel();
}
void run() {
for (int i = 0; i < abc.length; i++) {
switch (abc[i]) {//在这里解析数组,根据数组的内容来进行定义xy坐标
case 1:
fromX=(100);
fromX=(50);
break;
case 2:
fromX=(100);
fromX=(500);
break;
case 3:
fromX=(500);
fromX=(500);
break;
case 4:
fromX=(500);
fromX=(700);
break;
case 5:
fromX=(1150);
fromX=(700);
break;
case 6:
fromX=(1150);
fromX=(300);
break;
case 7:
fromX=(500);
fromX=(500);
break;
case 8:
fromX=(100);
fromX=(500);
break;
default:
break;
}

action(x, fromX, y, fromY);
try {
Thread.sleep(4000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

Log.i("aaa", "abc[i]" + abc[i]);
Log.i("xy", "x " + x + " toX " + fromX + " y " + y
+ " toY " + fromY);
x = fromX;
y = fromY;

}
}
根据数组内容来定义坐标,然后移动到坐标点,因为很多坐标点,要连续移动
startAnimation 你没有设置重复执行 就只会执行一次