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

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

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

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

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

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

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

Блокировка навигации при смене ориентации экрана
Доброго времени суток.Прошу помощи у знающих: Приложение использует Navigation...

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

6
krapotkin
3397 / 3009 / 1042
Регистрация: 14.04.2014
Сообщений: 14,585
Записей в блоге: 15
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
Эксперт С++
4823 / 2997 / 345
Регистрация: 12.12.2009
Сообщений: 7,559
Записей в блоге: 2
Завершенные тесты: 1
04.01.2015, 22:54 #4
Не силен пока в андроиде, но в книги, которую я читаю, эта проблема решена путем выноса списка в отдельный синглтон. Данные из синглтона получаются в onCreate(), а сама загрузка списка происходит один раз при запуске приложения. Следует учесть, что список будет жить до конца жизни приложения, если это критично, то можно обнулять ссылку на список в синглтоне руками когда это будет необходимо и следить, чтоб ссылка на список не хранилась еще где-нибудь.
1
krapotkin
3397 / 3009 / 1042
Регистрация: 14.04.2014
Сообщений: 14,585
Записей в блоге: 15
04.01.2015, 22:57 #5
сорри
я автоматом ответил андроид + delphi
на яве точно так же, в onCreate передается один параметр - Bundle savedInstanceState
заполняется он в onSaveInstanceState
работа с Bundle абсолютно схожа
0
CoolMind
421 / 404 / 65
Регистрация: 06.10.2012
Сообщений: 1,732
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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.01.2015, 22:10

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

Не отображать SplashScreen при смене ориентации экрана
Не могу понять как сделать чтобы сплэш не появлялся снова при смене ориентации...

Задний фон при смене ориентации экрана
Здравствуйте! Мне надо чтобы фон не сжимался так, а как в HTML оптимизировал...


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

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

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