2014-01-15 4 views
0

Я создал две вкладки с помощью tabhost и добавил фрагменты, используя метод addTab.ListView перезагружается при переключении между вкладками. Как это остановить?

В этих двух фрагментах я просто вызываю простую локальную службу, используя ASYNCTASK и получаю json строки.

Я разбираю эти строковые значения в списке в обоих фрагментах.

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

Есть ли способ сохранить состояние вкладки фрагмента и состояние списка просмотра при переключении между вкладками?

+0

Вы должны добавить код, который вы используете для создания ListView – nKn

+1

Держите свои адаптеры в своей деятельности, а не фрагмент, который уничтожается ... затем используйте методы getter для установки адаптера при перестройке списка ваших фрагментов. – Submersed

+0

Я уже встречался с этой проблемой .. Наконец, я просто воссоздаю элементы списка. Я имею в виду воссоздать все элементы в списке. – Amsheer

ответ

0

Как насчет использования Fragment.onSaveInstanceState(Bundle) и Fragment.onActivityCreated(Bundle) для сохранения и восстановления ваших фрагментов?

Вы также можете использовать setRetainInstance(true), как указано в документе.

+0

Не очень уверен, что это поможет в вашем случае. – droidx

+0

Не полезно ... Я не нуб. Я много пробовал. Я просто надеюсь, что Android похож на кодировку iOS. Там все обрабатывается. Сохранение состояния - такая боль –

+0

Хорошо! Другая мысль ... Может быть, вы уже пробовали это уже. :) попробуйте использовать методы FragmentTransaction.show() и hide(). – droidx

Смежные вопросы