Android ListView в Действии, Обновляемом на Изменяющейся Ориентации

У меня есть Действие с ListView в нем, и в onCreate методе Действия у меня есть код для заполнения Данных ListView, эти Данные являются базирующимся сервером, и таким образом заполнение включает URL Сети вызова. У меня есть ArrayAdapter ListView в Том же Классе Действия.

Теперь Проблема, которой направление I'am состоит в том, что, в Отдыхе все сценарии мое Действие ведет себя надлежащим способом, но когда Ориентация [Портрет к Озелененному или наоборот] происходит Данные, Теряется, и Более новые Вызовы данных требуются, чтобы Заполнять Те же Старые Данные теперь, это - что-то, что не предназначается код, как я должен иметь дело с ним.

12
задан skaffman 25 June 2010 в 13:23
поделиться

3 ответа

Android остановит и перезапустит вашу активность, если вы не сообщите ему, что вы будете обрабатывать изменения ориентации самостоятельно. Это делается для того, чтобы вы могли указать различные ресурсы (например, макеты), которые зависят от ориентации (среди прочего).

Вам нужно добавить android: configChanges = "Ориентация" в делькарацию вашей активности в вашем AndroidManifest.xml, и вам нужно переопределить onConfigurationChanged () . Я не верю, что вам нужно делать что-то особенное внутри onConfigurationChanged (), простая реализация должна помочь.

23
ответ дан 2 December 2019 в 03:53
поделиться

Почему бы не сохранить какие-либо данные в анализируемый файл, и если пакет, который вы получаете в onCreate, содержит сохраненное состояние данных, переустановите адаптер списка? Вот хороший пример кода на это: http://blog.cluepusher.dk/2009/10/28/writing-parcelable-classes-for-android/

1
ответ дан 2 December 2019 в 03:53
поделиться

Насколько я знаю, все Activity воссоздается при изменении ориентации! То же самое верно, если вы переключитесь на другое приложение и вернетесь позже. I предложит сохранить данные в SharedPreferences или сериализовать их в XML и сохранить.

Другой возможностью может быть регистрация вашей собственной службы, которая хранит данные в памяти, а активность полизирует данные из службы.

2
ответ дан 2 December 2019 в 03:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: