对不起,我是一个菜鸟,我已经阅读了无数关于制作简单计时器的教程,并且想知道为什么它不起作用,直到我注意到它是导致问题的 while 循环 oO 我已经删除它然后它可以工作但只有 1 次我需要使用循环所以运动完成:C
继承人的代码:
old_x 是来自 ImageView 的坐标,而 new_x 来自 onTouch 事件,可能是因为我将它们转换为 int 的问题?我不知道我需要做什么才能工作,请帮助 O:
while(old_x != new_x)
{
timedMoveIV(100);
old_x = (int)img.getX();
}
如果我在没有循环的情况下执行此操作,它会调用此方法。
public void timedMoveIV(int time_ms)
{
//sleep for time_ms milliseconds
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
if(new_x > img.getX())
{
img.setX(img.getX() + 1);
}
else
{
img.setX(img.getX() - 1);
}
}
}, time_ms);
}