Как сохранить ListView в onSaveInstanceState (Bundle outState), чтобы я мог восстановить его обратно в Android? - PullRequest
3 голосов
/ 19 января 2012

Список извлекается из удаленного канала через Интернет, поэтому я пытался не нужно перезагружать просмотр списка через другое веб-приложение

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

Что я должен сделать для PLZ, помогите мне, чтобы я мог продолжить? Заранее спасибо.

Ответы [ 3 ]

2 голосов
/ 19 января 2012

Вам не нужно сохранять ListView, вам просто нужно было сохранить данные, которыми вы заполняете свой ListView. Here является простым примером для того же. Еще один, который вы можете получить: this one.

1 голос
/ 19 января 2012

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

Вам необходимо создать отдельный макет XML для альбомной ориентации, сохранив все элементы (без просмотров и их идентификаторов), как они были в портретном макете XML.
Поместите этот XML в папку с именем "lauout- приземлиться »в папке« res »приложения и дать ему то же имя, что и его аналог в папке« layout ».
Так что, когда они будут изменять конфигурацию, Android будет раздувать этот XML-макет вместо один для портретного режима и наоборот.

Отредактированный раздел

Кроме того, если вы хотите сохранить что-то до изменения ориентации (я действительно не знаю, зачем вам это нужно) , вы можете сделать это
public void onConfigurationChanged (Configuration newConfig) {
.....
.....
Сохраняйте все, что хотите, как текст любого редактируемого текста
любого массива
....
.....
super.onConfigurationChanged (newConfig);
....
Теперь установите сохраненные данные в любое место.
}

Кроме того, если ваш список сбрасывается после изменения ориентации, то и ваш массив, содержащий данные, должен оставаться на месте, если ваша активность не прекращается.
Установите адаптер для вашего списка еще раз.
Отдыхая мои предложения после этого.

0 голосов
/ 19 января 2012

Ваш вид списка должен быть подкреплен каким-то списком, может быть списком массивов, коллекцией и т. Д. Вы можете передать этот список на Android и попросить его сохранить этот объект для вас, пока ваша деятельность умирает и возрождается. Способ сделать это - использовать onRetainNonConfigurationInstance. Проверьте документы для Android. Это довольно просто.

...