Итак, какова точка putFragment / getFragment?
blockquote>Согласно текущей реализации, то, что
putFragment(Bundle bundle, String key, Fragment fragment)
делает, помещает индекс фрагмента в комплект с ключ параметра. А затемgetFragment(Bundle bundle, String key)
получает фрагмент с тем же индексом, который можно извлечь из пакета с тем же ключом. Фрагмент имеет свой индекс в FragmentManager только после того, как он добавлен к нему, поэтому putFragment () можно вызывать на фрагменте только после его добавления.Сохраняет ли что-то дополнительное или вызывает дополнительную
blockquote>Он сохраняет только индекс Фрагмента, больше ничего другого и не вызывает никаких дополнительных жизненных циклов.
Is это просто альтернатива findFragmentByTag (), которая делает более или менее одно и то же:
blockquote>Да, это так.
Согласно текущей реализации, что putFragment / getFragment также может быть достигнуто с помощью
findFragmentByTag()
. Но функция putFragment / getFragment довольно ограничена, потому что вы не можете использовать их без параметра bundle, значит вы должны называтьputFragment()
вonSaveInstanceState()
.