Как перезапустить активность с новыми данными. (Продвижение уровней в игре)

1

Я работаю над головоломкой с перетаскиванием и Activity, которая отображает фактическую "игру" в приложении, называется GameView. Я запускаю свой GameView Activity с помощью этого кода с помощью нажатия кнопки в моей активации LevelSelect следующим образом:

Intent intent = new Intent(LevelSelect.this, GameView.class);
            int levelNum = position+1;
            intent.putExtra("com.detour.obstruction.LevelNumber", levelNum);
            startActivity(intent);

Это заставляет GameView открывать и находить любой уровень (в зависимости от положения нажатой кнопки в Gridview), который ему нужен, и отображать его. Теперь, когда уровень решен, я хочу перейти на следующий уровень, не возвращаясь к экрану LevelSelect. Подумайте, Angry Birds, если это поможет вам понять, что я пытаюсь сделать. Каков самый простой/лучший способ сделать это? Могу ли я изменить данные в своем намерении, снова вызвав putExtra() и увеличив значение для номера уровня? Как я могу удалить свою активность в GameView и перезапустить ее на новый уровень, чтобы она казалась без видимой для пользователя?

  • 1
    Почему вы хотите перезапустить игру? Разве не было бы хорошо просто установить переменные и обновить представление после завершения определенного уровня?
  • 0
    Я перезагружаю всю активность, потому что есть и другие вещи, которые также должны быть сброшены, например, TextView, отображающий количество ходов. Тем не менее, ваше предложение также работает хорошо, и я был бы рад, если вы опубликуете его как полный ответ. Спасибо за вашу помощь.
Теги:
android-intent

1 ответ

2
Лучший ответ

Вы можете сделать то же самое из своей деятельности. Просто позвоните finish() перед вызовом startActivity(intent).

  • 0
    Можно ли вызвать startActivity (намерение) внутри действия, которое оно запускает? Я попробовал это, и это, казалось, работало хорошо, но только один раз. Затем мне придется выйти из приложения и вернуться, чтобы оно снова заработало.
  • 0
    какая проблема идет? Я сделал пример приложения для начала деятельности из той же деятельности, она работает нормально.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню