2014-12-27 2 views
1

У меня есть два фрагмента в моей деятельности и один контейнер. Я показываю один из двух фрагментов на основе ввода пользователем. Одним из этих фрагментов является фрагмент Google Map с добавленным маркером и увеличенным на этом маркере.Маркеры удаляются при замене фрагмента карты Google

я сделать следующее:

  1. Заменить фрагмент карты Google с фрагментом X.
  2. Затем заменить фрагмент X с картой фрагмента Google.

После этих двух операций я больше не вижу маркер на карте, и карта также уменьшена.

Обратите внимание, что я не создаю новый фрагмент карты Google при выполнении операции 2. Фрагмент карты Google совпадает с тем, который был показан ранее. Кроме того, после замены, если я попытаюсь добавить маркер, то даже это не сработает.

Может кто-нибудь объяснить, что здесь происходит. Разве что фрагмент карты уничтожается, когда я заменяю его фрагментом X?

Спасибо.

+0

Как именно вы меняете? Код, пожалуйста! – stkent

+0

Я просто запускаю транзакцию замещения 'getSupportFragmentManager(). BeginTransaction(). Add (R.id.mlContainer, googlePlacesListFragment) .commit();' – vaibhav

ответ

0

Когда вы используете replace, это то же самое, что и звонок remove, а затем add на фрагмент. Старый фрагмент в контейнере удаляется, а новый добавляется. вам нужно сохранить данные где-нибудь, если вы хотите снова показать его.

+0

Является ли объект фрагмента уничтоженным на 'remove' и повторно создан на' add'? – vaibhav

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