Andengine无法在循环内更新SetText

时间:2015-02-02 03:49:39

标签: java andengine

private void shell_loops() {
    int x=house_no+1;
    for(int i =temp;i>0;i--){
        myhouse[x]++;
        x++;
            updatetext();
        if(x==2)
        {
            x=0;
        }
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}
private void updatetext() {
    text[0].setText(""+myhouse[0]);
    text[1].setText(""+myhouse[1]); 
}

文本必须更新每个myhouse []增量都是更改。 它运行但文本更新只是最后一个循环。

1 个答案:

答案 0 :(得分:1)

这可能是Thread.sleep(1000);故障。尝试使用timerHandler而不是它。

TimerHandler timer = new TimerHandler(1,true,new ITimerCallback(){

@Override
public void onTimePassed(TimerHandler pTimerHandler) {

  updateText();
  if(i == maxNumberOfLoops) 
    // unregister your timer e.g unregisterTimerHandler(pTimerHandler);

}

});

//注册你的计时器