Dans mon main.xml
j'ai
<FrameLayout
android:id="@+id/frameTitle"
android:padding="5dp"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:background="@drawable/title_bg">
<fragment
android:name="com.fragment.TitleFragment"
android:id="@+id/fragmentTag"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</FrameLayout>
Et je suis fragment d'un objet comme ça
FragmentManager fragmentManager = activity.getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager
.beginTransaction();
Fragment newFragment = new FragmentType1();
fragmentTransaction.replace(R.id.frameTitle, casinodetailFragment, "fragmentTag");
// fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
C'est le réglage de différents types de Fragment objets (FragmentType2,FragmentType3,...
) à différents temps.
Maintenant, à un certain moment j'ai besoin d'identifier l'objet qui est actuellement
Dans le coup j'ai besoin de faire comme ceci
Fragment currentFragment = //what is the way to get current fragment object in FrameLayout R.id.frameTitle
Edit: j'ai essayé les
TitleFragment titleFragmentById = (TitleFragment) fragmentManager.findFragmentById(R.id.frameTitle);
et
TitleFragment titleFragmentByTag = (TitleFragment) fragmentManager.findFragmentByTag("fragmentTag");
Mais les objets (titleFragmentById et titleFragmentByTag ) null
Ai-je raté quelque chose?
Je suis à l'aide d' Compatibility Package, r3
et développement de API level 7
EDIT 2:findFragmentById()
et findFragmentByTag()
ne fonctionnera que si nous avons mis fragment à l'aide de fragmentTransaction.replac
e ou fragmentTransaction.add
, mais sera - return null
si nous avons mis l'objet en xml (comme ce que j'ai fait dans ma main.xml
).
Je pense que j' miss something
de mon xml