Внутриигровой возврат не работает - PullRequest
0 голосов
/ 26 октября 2011

Хорошо, моя игра начинается с 2 кнопок: Одним из них является новая игра с этим кодом:

    case R.id.newgame:
        openNewGameDialog();
        break;

    private void openNewGameDialog() {
    new AlertDialog.Builder(this)
    .setTitle("new game")
    .setItems(R.array.difficulty,
     new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialoginterface,
              int i) {
           startGame(i);
        }
     })
    .show();
}




   private void startGame(int i) {
    Log.d(TAG, "clicked on " + i);
    Intent intent = new Intent(SudokuActivity.this, Game.class);
    startActivity(intent);
    intent.putExtra(Game.KEY_DIFFICULTY, i);

}

Хорошо, теперь игра началась. Предположим, я играю в нее 2 минуты, а затем решаю перейти в меню, поэтому я нажимаю кнопку НАЗАД на моем телефоне. Меню появляется, но теперь я хочу вернуться игра и продолжить с того места, где я остановился.

Я пытался поставить финиш (); на кнопку продолжения, но когда я нажимаю ее, он просто возвращает меня к главному экрану Android.

1 Ответ

0 голосов
/ 27 октября 2011

В Game Activity вы должны переопределить метод onPause и вызвать логику сохранения.Вы можете использовать SQLite или файл для хранения состояния активности.А в onCreate или onResume of Game загрузите эти данные (если они есть) и возобновите игру.Это правильная работа, даже если основная активность потерпела крах, или пользователь нажал Home btn.

...