Форум программистов, компьютерный форум CyberForum.ru

Ошибки при востановление активити после уничтожения - Android

Войти
Регистрация
Восстановить пароль
 
korsaj
148 / 117 / 9
Регистрация: 16.08.2013
Сообщений: 506
13.10.2013, 23:35     Ошибки при востановление активити после уничтожения #1
Странное поведение андроида при переходе планшета в дежурный режим (черный экран).
Есть приложение, на главном активити 8 кнопок. Первые четыре (в таком же порядке инициализируются) именованные последующие четыре с именами Button1, Button2, Button3, Button4.
При запуске приложения все работает, переходы в другое активити и возврат обрабатывается без ошибок, а вот при переходе планшета в дежурный режим Button4 = null после строки Button4 = (Button) findViewById(R.id.button4);
Пробовал менять местами строки Button3 и Button4:
Java
1
2
Button4  = (Button) findViewById(R.id.button4);
Button3  = (Button) findViewById(R.id.button3);
Все равно Button4 = null
Вышел из ситуации вот так
Java
1
2
Button4  = (Button) findViewById(R.id.button4);
if (Button4 != null) Button4.setOnClickListener(this);
И получил интересную зависимость - при восстановление активити после уничтожения получаю Button4 = null, а при выходе из дежурного режима Button4 присваивается ссылка.
Подскажите в чем проблема?
Вот скриншот лога:
Миниатюры
Ошибки при востановление активити после уничтожения  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2013, 23:35     Ошибки при востановление активити после уничтожения
Посмотрите здесь:

Android Запрет поворота экрана после создания активити
Мигает активити после сплешскрина Android
Android Запуск таймера после закрытия второй Активити
После запуска приложения запускать не главное активити, а сервис Android
Ошибка при вызове активити Android
Ошибка при при смене активити Android
Android Не отображается игровое поле после выхода из другого активити
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vladimirys
292 / 189 / 19
Регистрация: 16.01.2010
Сообщений: 527
13.10.2013, 23:56     Ошибки при востановление активити после уничтожения #2
Проблема в жизненном цикле приложения. Нужно весь код смотреть.
korsaj
148 / 117 / 9
Регистрация: 16.08.2013
Сообщений: 506
14.10.2013, 14:54  [ТС]     Ошибки при востановление активити после уничтожения #3
Проблема оказывается в xml-ском layout-файлe (разметке). Помогите ее решить.
В общем проблема описанная в первом посту возникала из-зи того что я использую приложение только в layout-land
XML
1
android:screenOrientation="landscape"
и соответственно на каком-то этапе написания перестал заполнять layout файлы отвечающие за книжную ориентацию. Так вот жизненный цикл активити (при восстановлении в фоне, после уничтожения сборщиком мусора) цепляет соответствующий layout файл для Portrait, а в нем нет кнопки Button4.
Помогите, подскажите как сделать так чтобы андроид не вспоминал о книжной ориентации?
Slon747
59 / 37 / 1
Регистрация: 24.08.2013
Сообщений: 414
14.10.2013, 15:32     Ошибки при востановление активити после уничтожения #4
Цитата Сообщение от korsaj Посмотреть сообщение
Проблема оказывается в xml-ском layout-файлe (разметке). Помогите ее решить.
В общем проблема описанная в первом посту возникала из-зи того что я использую приложение только в layout-land
XML
1
android:screenOrientation="landscape"
и соответственно на каком-то этапе написания перестал заполнять layout файлы отвечающие за книжную ориентацию. Так вот жизненный цикл активити (при восстановлении в фоне, после уничтожения сборщиком мусора) цепляет соответствующий layout файл для Portrait, а в нем нет кнопки Button4.
Помогите, подскажите как сделать так чтобы андроид не вспоминал о книжной ориентации?
В манифесте для активити прописать "android:screenOrientation="landscape"
Ой. Я наверное не то сказал.
korsaj
148 / 117 / 9
Регистрация: 16.08.2013
Сообщений: 506
14.10.2013, 18:02  [ТС]     Ошибки при востановление активити после уничтожения #5
Ну не совсем не то.. Просто повторил.
Вот я еще нашел, попробую вставить обработчик в оnCreate.

Добавлено через 1 час 57 минут
Не помогло, все равно он вначале грузит книжную ориентацию.
Netscape
 Аватар для Netscape
371 / 358 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
14.10.2013, 18:52     Ошибки при востановление активити после уничтожения #6
Можно попробовать программно повернуть экран в onConfigurationChanged.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.10.2013, 20:03     Ошибки при востановление активити после уничтожения
Еще ссылки по теме:

Приложение вылетает после перехода на новое активити Android
Android Приложение вылетает после перехода на второе активити
Android Скрыть элемент View после ввода логина и пароля на другом активити
Android Handler при пересоздании активити
Как изменится стек после вызова активити другого приложения Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
korsaj
148 / 117 / 9
Регистрация: 16.08.2013
Сообщений: 506
14.10.2013, 20:03  [ТС]     Ошибки при востановление активити после уничтожения #7
Повернуть до открытия файла разметки?
Я еще думаю о проверки наличия лайот файла до его загрузки, и если он не существует, не грузить его.
Либо проверять состояние экрана и выбирать грузить лайот файл или не надо.

Добавлено через 32 минуты
Метод onConfigurationChanged не вызывается, так как смена ориентации запрещена в манифесте.
Проверить наличие лайот файла не представляется возможным так как он всегда есть (у них один id на два лайот файла).

Добавлено через 8 минут
А вот метод getResources().getConfiguration().orientation работает.
Еще есть идея, ща проверю отпишусь.

Добавлено через 16 минут
Ну и последнее решение: не надо было мне балбесу создавать папку layout-land. По умолчанию андроид берет файл разметки из папки layout и не важно как ориентирован экран!
Yandex
Объявления
14.10.2013, 20:03     Ошибки при востановление активити после уничтожения
Ответ Создать тему
Опции темы

Текущее время: 08:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru