2015-02-02 1 views
0

Это должно быть очень просто, но я никогда не работал с фрагментами раньше, и я потерялся здесь.Фрагменты Android обновляются каждый раз после возвращения к ним

Я искал и нашел массу вещей на fragmets, но я не могу найти ответ на свою проблему.

В моей основной деятельности у меня есть подменю с 5 кнопками, в основном LinearLayout.

У меня есть список с 5 фрагментами в нем.

Когда я нажимаю кнопку, я хочу увидеть один из пяти фрагментов.

Если я добавляю фрагменты с помощью FragmentTransaction.replace(), фрагменты воссоздаются каждый раз. Все освежает, и это не то, что я хочу. Представления также обновляются, если я вернусь к фрагменту, нажав кнопку «Назад».

Я не мог понять, как «не обновлять» фрагменты. Я попытался использовать hide/show, но в какой-то момент я потерял трек стопы, поэтому я не мог утихомирить поведение кнопки.

Любая помощь будет высоко оценена. Благодарю.

ответ

0

Я думаю, вы имеете в виду FragmentTransaction.replace(). Рассмотрите возможность редактирования вопроса.

Во всяком случае, вид будет воссоздан при изменении фрагмента. Это ваша работа по сохранению информации, необходимой в Bundle, путем реализации onSavedInstanceState(), а затем для получения информации в onCreateView().

+0

Спасибо JDenais. Но это не хорошо для меня, это большая работа по обработке отдыха фрагмента, поскольку в фрагменте есть 2 спиннера. Когда я воссоздаю фрагмент и устанавливаю последние выбранные элементы прядильщиков, onItemSelected of spinners fire и начинайте делать некоторые работы. Также я сохраняю информацию в статических членах, так как onSaveInstanceState() не запускается все время, когда фрагмент воссоздается. Мне понадобятся булевы, чтобы справиться с ситуацией, чего я пытался избежать, но, похоже, нет другого пути. – Lev

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