Wie verwende ich Fragmente in Fragmenten richtig?Korrekte Verwendung von Unterfragmenten mit (Child) FragmentManager
My (vereinfacht) Anwendungsfall ist folgende, ich habe eine Aktivität mit einem Layout-Fragmente und dieses Fragment theirself enthält ein Unterfragment ... alle Fragmente manuell zu ihren Eltern hinzugefügt ...
----------------------------------------------------------
- Activity -
- -
- -
- --------------------------------------- -
- - Fragment - -
- - - -
- - ----------------- - -
- - - SubFragment - - -
- - - - - -
- - - - - -
- - ----------------- - -
- --------------------------------------- -
- -
----------------------------------------------------------
jetzt in meiner Tätigkeit des onCreate
ich folgendes:
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);
}
Und in meinem Fragmente onCreate
ich/eröffne mein Subfragment:
Problem
Nach Bildschirmdrehung wird mein Subfragment zweimal hinzugefügt ... Wenn ich die Tätigkeit der Verwendung FragmentManager
dann funktioniert es ... Aber warum es nicht mit den ChildFragmentManager
arbeiten? Natürlich ist das Fragment ein neues Fragment, aber die Aktivität ist auch eine neue, also warum funktioniert es mit dem FragmentManager
der Aktivität, aber nicht mit dem eines Elternteils? In einem Fragment sollte ich die Fragmente ChildFragmentManager
verwenden, oder?
nicht die gleiche Frage hinzufügen , aber für andere, die hierher kommen, siehe die [Kommunikation zwischen verschachtelten Fragmenten in Android] (http://stackoverflow.com/questions/39491655/communication-between-nested-fragments-in-andro ID/39563977 # 39563977). – Suragch