我是新来的Android和试图开发一款游戏。我试图在延迟一段时间后用递归函数调用替换ImageView
中的图像。我面临的问题是,如果一旦图像被设置为ImageView
,它不会改变,但每次都会调用该函数。从ImageView替换图像
我已经使用了setImageResource()
和setImageDrawable()
,但仍然无法达到预期的效果。
有人可以帮助我吗?
我使用这样做的作用是:
type
和laneNumber
从调用函数play()
int images[] = {R.drawable.blue, R.drawable.bluesq, R.drawable.red, R.drawable.redsq};
void play()
{
type = random.nextInt(2);
laneNumber = random.nextInt(4);
createBlock(type,laneNumber);
if(--count>0)
{
play();
}
}
void createBlock(int type, int laneNumber) {
switch (laneNumber)
{
case 0:
selector = 0;
objectLane1.setImageResource(images[type+selector]);
animateDown(objectLane1);
break;
case 1:
selector = 0;
objectLane1.setImageResource(images[type+selector]);
animateDown(objectLane1);
break;
case 2:
selector =2;
objectLane1.setImageResource(images[type+selector]);
animateDown(objectLane1);
break;
case 3:
selector = 2;
objectLane1.setImageResource(images[type+selector]);
animateDown(objectLane1);
break;
}
}
你打电话play(); – phpdroid
我认为你的递归调用只是结束了。您没有等待变更可见的时间段。尝试添加一些固定的睡眠,或者'AnimationListener'来等待动画结束。 – Gotiasits
in'onCreate()'我的活动 –