In meinem main.xmlhabe ich
<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>
Und ich setze ein Fragmentobjekt wie dieses
FragmentManager fragmentManager = activity.getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
Fragment newFragment = new FragmentType1();
fragmentTransaction.replace(R.id.frameTitle, casinodetailFragment, "fragmentTag");
// fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
Es werden verschiedene Arten von Fragmentobjekten ( FragmentType2,FragmentType3,...) zu unterschiedlichen Zeiten festgelegt. Jetzt muss ich irgendwann herausfinden, welches Objekt gerade dort ist.
In kurzen brauche ich so etwas wie dies zu tun:
Fragment currentFragment = //what is the way to get current fragment object in FrameLayout R.id.frameTitle
Ich habe folgendes versucht
TitleFragment titleFragmentById = (TitleFragment) fragmentManager.findFragmentById(R.id.frameTitle);
und
TitleFragment titleFragmentByTag = (TitleFragment) fragmentManager.findFragmentByTag("fragmentTag");
Aber beide Objekte (titleFragmentById und titleFragmentByTag) sindnull
Haben ich etwas verpasst?
Ich benutze Compatibility Package, r3und entwickle für API level 7.
findFragmentById()und findFragmentByTag()wird funktionieren, wenn wir Fragment mit fragmentTransaction.replaceoder gesetzt haben fragmentTransaction.add, aber return nullwenn wir das Objekt auf xml gesetzt haben (wie das, was ich in meinem getan habe main.xml). Ich glaube, ich vermisse etwas in meinen XML-Dateien.