У меня есть активность в которую передаются данные с помощью putExtra();
Когда активность создаётся, я беру данные, что то там делаю с ними.
Потом нажимаю Back, после чего происходит NullPointerException. Методом научного дебагинга выяснил,
что при нажатии на Back вызывается onPause, а потом снова onCreate (О_о Зачем?!), после чего он опять пытается достать данные из Intent (получает null) и опять что-то там с ними сделать (ошибочка вышла).
Почему он пытается создать активность два раза, причём второй раз при нажатии Back, и как это исправить?
Активность вызывается два раза
- xponchickx
- Сообщения: 3
- Зарегистрирован: 03 июн 2012, 00:38
Re: Активность вызывается два раза
Баг какой-то. А на других версиях эмулятора тоже самое?xponchickx писал(а):Почему он пытается создать активность два раза, причём второй раз при нажатии Back, и как это исправить?
Проверку на null в любом случае лучше поставить, всякое бывает.
Re: Активность вызывается два раза
Уточните вопрос. Как его понял я:
1 вариант) У вас есть 2 Активити, из одной вызывается другая с некими параметрами через putExtra(). Вы жмете BACK у вас скрывается вторая Активити и показывается первая, после чего каким-нибудь образом запускается опять вторая Активити.
В этом случае все работает правильно. Если со второй активити "ушли", то она будет создана занова.
2 вариант) Если вы во второй Активити перехватываете и обрабатываете нажатие на кнопку Back, тогда это действительно глюк. Хотя некоторые люди говорят, что защитить от Back-ка нельзя никак. Тут мнения где-то 50\50. Надо уточнить, пока этот момент выглядет спорным, может быть даже зависит от модели аппарата, версии ОС или эмулятора. Хотя на моем телефоне игрушки нажатие на Back перехватывают. Вот кнопку "HOME" точно никак отловить не получится.
1 вариант) У вас есть 2 Активити, из одной вызывается другая с некими параметрами через putExtra(). Вы жмете BACK у вас скрывается вторая Активити и показывается первая, после чего каким-нибудь образом запускается опять вторая Активити.
В этом случае все работает правильно. Если со второй активити "ушли", то она будет создана занова.
2 вариант) Если вы во второй Активити перехватываете и обрабатываете нажатие на кнопку Back, тогда это действительно глюк. Хотя некоторые люди говорят, что защитить от Back-ка нельзя никак. Тут мнения где-то 50\50. Надо уточнить, пока этот момент выглядет спорным, может быть даже зависит от модели аппарата, версии ОС или эмулятора. Хотя на моем телефоне игрушки нажатие на Back перехватывают. Вот кнопку "HOME" точно никак отловить не получится.
- xponchickx
- Сообщения: 3
- Зарегистрирован: 03 июн 2012, 00:38
Re: Активность вызывается два раза
Спасибо за ответы.
Нашёл проблему.
Она слишком самокритична, чтобы её писать здесь.
Нашёл проблему.
Она слишком самокритична, чтобы её писать здесь.