Как правильно использовать фрагменты во Фрагментах?Правильное использование суб-фрагментов с (Child) FragmentManager
My (упрощенный) использовать случай следующее, у меня есть деятельность с фрагментом макета и этот фрагмент theirself содержит фрагмент суб ... все фрагменты добавлены вручную к своим родителям ...
----------------------------------------------------------
- Activity -
- -
- -
- --------------------------------------- -
- - Fragment - -
- - - -
- - ----------------- - -
- - - SubFragment - - -
- - - - - -
- - - - - -
- - ----------------- - -
- --------------------------------------- -
- -
----------------------------------------------------------
Теперь в моей деятельности onCreate
-х я следующее:
if (savedInstanceState == null)
{
// I create the fragment
mMainFragment = new MainFragment();
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.fragment_main, mMainFragment);
transaction.commit();
}
else
{
// I retrieve the fragment
mMainFragment = (BaseFragment) getSupportFragmentManager().findFragmentById(R.id.fragment_main);
}
И в моих фрагментах onCreate
я получаю/создать свой субфрагмент:
mSubFragment = getChildFragmentManager().findFragmentByTag(SubFragment.class.getName());
if (mSubFragment == null)
{
mSubFragment = new SubFragment();
getChildFragmentManager().beginTransaction().add(R.id.fragment_sub, mSubFragment, SubFragment.class.getName()).commit();
}
Проблема
После поворота экрана, мой субфрагментом добавляется в два раза ... Если я использую данный вид деятельности FragmentManager
то это работает ... Но почему она не работает с ChildFragmentManager
? Конечно, Фрагмент - это новый фрагмент, но он также является новым, поэтому почему он работает с , но не с родительским фрагментом?
Во фрагменте я должен использовать фрагменты ChildFragmentManager
, не так ли?
Не тот же вопрос , но для других, которые приходят сюда, см. раздел [Связь между вложенными фрагментами в Android] (http://stackoverflow.com/questions/39491655/communication-between-nested-fragments-in-andro ID/39563977 # 39563977). – Suragch