Так вот ситуация. Я работаю над мини-игрой для Android, и в этой игре есть таймер, который ведет обратный отсчет от 60 до 0.
http://postimg.org/image/5kcbo7t49/
Когда вы нажимаете кнопку паузы (II), отображается диалоговое окно, которое служит паузой, таймер должен остановиться и, конечно, когда вы нажимаете кнопку «Продолжить», он должен продолжаться.
http://postimg.org/image/j2j80i59l/
Моя проблема в том, что таймер продолжает работать, даже когда всплывает диалоговое окно, я думал, что могу остановить таймер в методе 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);
}