所以情况就是这样。 我一直在为Android制作一个小游戏,这个游戏有一个计时器,倒计时从60到0。
http://postimg.org/image/5kcbo7t49/
当您单击暂停按钮(II)时,它会显示一个用作暂停的对话框,计时器应该停止,当然,当您单击继续时,它应该继续。
http://postimg.org/image/j2j80i59l/
我的问题是,即使Dialog弹出时计时器仍然工作,我认为我可以停止onPause()方法的计时器,但我读到对话框没有调用onPause方法,因为它们不一定是活动。 所以,我的问题是,我可以使用什么来使我的活动调用onPause()和onResume()?我应该使用不同于对话框的东西吗?如果是的话,我可以使用什么?或者我可以强制onPause / OnResume以某种方式激活并且方便吗?
这里有一些代码:
暂停按钮的代码。只需调用暂停对话框。
_Btn_Pause.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
GameManager.createDialogPause(_Activity, _Activity);
}
});
暂停和恢复方法的代码。
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
_C.cancel();
_TimeReady = 4;
_StartGame = false;
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
setGame();
}
public void setGame() {
_C.scheduleAtFixedRate(_GameTimer, 1000, 1000);
}
答案 0 :(得分:0)
由于您将Activity上下文传递给Dialog,因此可以使用它来获取Activity并调用方法来停止/恢复计时器。
YourActivityName activity = (YourActivityName) _Activity;
activity.pause_timer() //Or call onPause() onResume()