ОНИТИЦИОНАЛЬНОСТЬРЕНИЕ больше не вызывается после ondestroy

StackOverflow https://stackoverflow.com/questions/3170463

Вопрос

ОНИТИЦИОНАЛЬНОСТЬРУЗАЕТСЯ УДАЕТСЯ МЕЖДАЯ ГОЛОВЕНЬ. Моя маленькая игра имеет экран заголовка / меню. После нажатия «Новая игра» запущена активность, которая создает SurveyView для моего игрового мира.

При воспроизведении игрока может войти в здания в игровом мире. При входе в здание я запустил активность для этого конкретного здания из моего Surfaveview. Вот пример:

   Intent storeIntent = new Intent(mMinerClass, GeneralStore.class);
   storeIntent.putExtra("player", mPlayer.save());   
    ((Activity) mContext).startActivityForResult(storeIntent, Miner.REQUEST_STORE);

MMINERCLASS определяется в игровой активности OnCreate:

  mMap .mMinerClass = Miner.this;

MMAP - это поверхность. Я передаю пакет, содержащую состояние игрока. В OnactivityResult я захваняю связку, возвращающую деятельность магазина и обновит состояние игрока.

 public void onActivityResult(int requestCode, int resultCode, Intent intent) {
      Bundle player = intent.getExtras();
      mMap.mSavedPlayer = player;
  }

MSAVEDPLAYER позже используется для установки состояния нового игрока.

Все вышеперечисленные работы в целом

Я могу войти в магазины, покупать вещи, уйти и игрок обновляются правильно.

Эта проблема проявляется, когда я нажимаю на домашнюю кнопку (или кнопку «Квартиры»), и OnDestroy вызывается. Мой метод Ondestroy ничего не делает, кроме звонка Super.ondestroy ();

После того, как OnDestroy () вызывается оноксизм, больше не вызывается.

Так:

1) Я играю в игру, все отлично работает.

2) я нажимаю домой и ondestroy называется

3) Relaunch Моя игра через Icon Launcher

4) возобновить игру. Я все еще могу вводиться и покинуть магазины, но оноксизмрсульт больше не вызывается.

Вот некоторые выходные данные. Я трогаю каждый раз, когда вводю соответствующий метод.

  App start.  Resuming a saved game
  07-03 00:33:04.759: ERROR/Miner(4014): -->onCreate
  07-03 00:33:04.819: ERROR/Miner(4014): -->onStart
  07-03 00:33:08.329: ERROR/Miner(4014): -->onResume

  Enter store and buy stuff 2 times.  Everything working great.
  07-03 00:33:30.419: ERROR/Miner(4014): -->onPause
  07-03 00:33:31.279: ERROR/Miner(4014): -->onStop
  07-03 00:33:35.069: ERROR/Miner(4014): -->onActivityResult
  07-03 00:33:35.069: ERROR/Miner(4014): -->onRestart
  07-03 00:33:35.069: ERROR/Miner(4014): -->onStart
  07-03 00:33:36.709: ERROR/Miner(4014): -->onResume
  07-03 00:33:42.129: ERROR/Miner(4014): -->onPause
  07-03 00:33:43.289: ERROR/Miner(4014): -->onStop
  07-03 00:33:55.279: ERROR/Miner(4014): -->onActivityResult
  07-03 00:33:55.279: ERROR/Miner(4014): -->onRestart
  07-03 00:33:55.279: ERROR/Miner(4014): -->onStart
  07-03 00:33:56.879: ERROR/Miner(4014): -->onResume

  Back button pressed bringing me to title screen
  07-03 00:35:26.283: ERROR/Miner(4014): -->onPause
  07-03 00:35:27.153: ERROR/Miner(4014): -->onStop
  07-03 00:35:27.333: ERROR/Miner(4014): -->onDestroy

  Resume Game
  07-03 00:36:12.953: ERROR/Miner(4014): -->onCreate
  07-03 00:36:13.003: ERROR/Miner(4014): -->onStart
  07-03 00:36:14.663: ERROR/Miner(4014): -->onResume

  Enter store and buy stuff twice.  No more onActivityResult

  07-03 00:36:52.063: ERROR/Miner(4014): -->onPause
  07-03 00:36:52.863: ERROR/Miner(4014): -->onStop
  07-03 00:36:59.913: ERROR/Miner(4014): -->onRestart
  07-03 00:36:59.913: ERROR/Miner(4014): -->onStart
  07-03 00:37:01.593: ERROR/Miner(4014): -->onResume
  07-03 00:37:23.353: ERROR/Miner(4014): -->onPause
  07-03 00:37:24.173: ERROR/Miner(4014): -->onStop
  07-03 00:37:29.173: ERROR/Miner(4014): -->onRestart
  07-03 00:37:29.173: ERROR/Miner(4014): -->onStart
  07-03 00:37:30.793: ERROR/Miner(4014): -->onResume

Я публикую это с моего телефона, поэтому оправдывайте тупые опечатки.

Я ценю любую понимание того, что вы можете обеспечить по этому поводу. Спасибо!

Это было полезно?

Решение

Вы должны уделить дополнительное внимание к этой линии:

((Activity) mContext).startActivityForResult(storeIntent, Miner.REQUEST_STORE)

Вы уверены, что mcontext - это правильная деятельность? Я подозреваю, что это не текущая деятельность, а ссылка на другой экземпляр активности, первый, который был закрыт ранее. Вы можете использовать «это» вместо MContext?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top