我创建了一个倒计时器,它现在开始如果布尔值为true,如果我检测到定时器是否正在运行,会更好。有没有办法做到这一点?检测CountdownTimer是否正在运行
我创建了以下countdowntimer以下类:
public class GameActivity
{
int GameTime = 120;
long GameTimeLeft = GameTime;
long GameMillis;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.gamemap);
myupdater = new Handler();
GameMemory = new PreferenceHandler(this);
GameTimeLeft = GameMemory.getMinutesLeft();
GameMillis = (GameTimeLeft * 60000);
if (GameMemory.getTimerSetting())
{
Log.d("StartTimer", "Minutes Set " + (GameMillis/60000));
GameTimeLeftCounter.start();
GameMemory.setTimerSetting(false);
}
}
CountDownTimer GameTimeLeftCounter = new CountDownTimer(GameMillis, 60000)
{
public void onTick(long millisUntilFinished)
{
GameTimeLeft = millisUntilFinished/1000/60;
Log.d("GameTimeLeftCounter", "Time Left: " + GameTimeLeft);
GameMemory.setMinutesLeft(GameTimeLeft);
}
public void onFinish()
{
//GAME OVER TIMER FINISHED
Intent gameover = new Intent(BarcelonaTriviaGame.this, GameOver.class);
gameover.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
Log.d("TimerFinished", "Finished");
startActivity(gameover);
finish();
}
};
嗨,活动应该出现再次,但现在它每次都用startActivity('intent')重新创建,这也意味着定时器重新开始,所以无限的游戏时间。我在该活动后面使用了更多活动,所以我宁愿直接调用该活动而不是使用finish(); – Diego 2012-03-02 12:46:50
这意味着你的onCreate被再次调用。一种方法是设置布尔值和检查。如果(真)定时器运行,否则如果(假)启动定时器。 – 2012-03-02 13:02:32
嗨Rashmi,但我如何检查计时器是否正在运行? – Diego 2012-03-02 13:36:37