Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
lepestok198344
0 / 0 / 0
Регистрация: 02.07.2014
Сообщений: 5
1

Перезагрузка списка при смене ориентации приложения

04.01.2015, 20:15. Просмотров 908. Ответов 6
Метки нет (Все метки)

Приветствую.
Имеется приложение построено на фрагментах . В приложении есть фрагмент с listview в который загружается информации из базы при запуске в oncreateview фрагмента. Проблема в том что при смене ориентации происходит повторная перегрузка данных в список что сказывается на удобстве работы с приложением. Можно ли как то менять ориентацию без перегрузки списка.?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.01.2015, 20:15
Ответы с готовыми решениями:

Выбрасывает из приложения при смене ориентации экрана
Здравствуйте. Следующая проблема. Создал папку layout-land в папке res. И при добавлении туда вот...

Потеря потока при смене ориентации
Здравствуйте! У меня приложения связывается по Bluetooth с другими устройствами. Всё работает...

Анимация при смене ориентации экрана
У меня есть анимация на фон с плавной сменой фона, но пир повороте анимация стартует занаво, из-за...

При смене ориентации закрывается Activity
Из главной активити запускаю вторую. При смене ориентации срабатывает onDestroy(), потом...

6
krapotkin
4128 / 3441 / 1163
Регистрация: 14.04.2014
Сообщений: 16,519
Записей в блоге: 17
04.01.2015, 21:29 2
при смене ориентации происходит уничтожение и новое создание формы
поэтому все и создается с нуля, НО
теперь у формы есть
1. событие OnSaveState которое возникает, когда приложение уходит в фон.
2. свойство SaveState с полем Stream:TMemoryStream;
все что нужно, сохраняем туда в FromSaveState и загружаем оттуда в FormCreate
(нужно ессно проверять, ведь при первом запуске там пусто)
порядок действий

OnSaveState:
SaveState.Stream.Write(список параметров в подсказке)

FormCreate:
SaveState.Stream.Read(...)
0
lepestok198344
0 / 0 / 0
Регистрация: 02.07.2014
Сообщений: 5
04.01.2015, 22:29  [ТС] 3
Простите но вопрос был по андроид
0
Kastaneda
Jesus loves me
Эксперт С++
5061 / 3079 / 351
Регистрация: 12.12.2009
Сообщений: 7,783
Записей в блоге: 2
Завершенные тесты: 1
04.01.2015, 22:54 4
Не силен пока в андроиде, но в книги, которую я читаю, эта проблема решена путем выноса списка в отдельный синглтон. Данные из синглтона получаются в onCreate(), а сама загрузка списка происходит один раз при запуске приложения. Следует учесть, что список будет жить до конца жизни приложения, если это критично, то можно обнулять ссылку на список в синглтоне руками когда это будет необходимо и следить, чтоб ссылка на список не хранилась еще где-нибудь.
1
krapotkin
4128 / 3441 / 1163
Регистрация: 14.04.2014
Сообщений: 16,519
Записей в блоге: 17
04.01.2015, 22:57 5
сорри
я автоматом ответил андроид + delphi
на яве точно так же, в onCreate передается один параметр - Bundle savedInstanceState
заполняется он в onSaveInstanceState
работа с Bundle абсолютно схожа
0
CoolMind
424 / 405 / 67
Регистрация: 06.10.2012
Сообщений: 1,747
09.01.2015, 00:08 6
lepestok198344, привет!
Если ещё актуально, то есть несколько вариантов решения. Более правильный - через обработку onSaveInstanceState (но я до сих пор не пробовал так делать), более простой - через запрет пересоздания активностей. Поищите что-то типа этого: android:configChanges="orientation|keyboardHidden|screenSize|smallestScreenSize".
https://androidresearch.wordpress.co...n-orientation/
0
lepestok198344
0 / 0 / 0
Регистрация: 02.07.2014
Сообщений: 5
26.01.2015, 22:10  [ТС] 7
спасибо всем решил через создание статического массива путем вызова адаптера в on create. это решение на мой взгляд самое простое к тому же решает другие проблемы с восстановлением приложения из паузы возврата на активити. но возможно это от моего пока еще недостаточного понимания самой системы андроид
0
26.01.2015, 22:10
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.01.2015, 22:10

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Пропажа данных при смене ориентации
При поворачивании телефона все данные обнуляются и вообще такое такое чувство, что приложение...

Обнуляется массив при смене ориентации устройства
Здравствуйте. Суть такова. В активити создается массив из путей к изображениям, которые делаются...

Бесшовное проигрывание видео при смене ориентации
Предложите пример или подскажите каким образом можно организовать бесшовное проигрывание видео при...

Потеря вывода при смене ориентации экрана
Калькулятор вывел результат в компонент textview. Стоит поменять ориентацию экрана и весь результат...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.