我是新來的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()'我的活動 –