मेरे में main.xml
मैं है
<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>
और मैं इस तरह से टुकड़ा वस्तु सेट कर रहा हूँ
FragmentManager fragmentManager = activity.getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
Fragment newFragment = new FragmentType1();
fragmentTransaction.replace(R.id.frameTitle, casinodetailFragment, "fragmentTag");
// fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
यह अलग- FragmentType2,FragmentType3,...
अलग समय पर विभिन्न प्रकार के फ्रैगमेंट ऑब्जेक्ट्स ( ) सेट कर रहा है । अब किसी समय मुझे यह पहचानने की आवश्यकता है कि वर्तमान में कौन सी वस्तु है।
में कम मैं इस तरह से कुछ करने की जरूरत है:
Fragment currentFragment = //what is the way to get current fragment object in FrameLayout R.id.frameTitle
मैंने निम्नलिखित की कोशिश की
TitleFragment titleFragmentById = (TitleFragment) fragmentManager.findFragmentById(R.id.frameTitle);
तथा
TitleFragment titleFragmentByTag = (TitleFragment) fragmentManager.findFragmentByTag("fragmentTag");
लेकिन दोनों ऑब्जेक्ट्स (titleFragmentById और titleFragmentByTag)null
क्या मुझे कुछ याद है?
मैं उपयोग कर रहा हूं Compatibility Package, r3
और विकसित कर रहा हूं API level 7
।
findFragmentById()
और findFragmentByTag()
अगर हम टुकड़ा का उपयोग कर सेट किया है fragmentTransaction.replace
या काम करेंगे fragmentTransaction.add
, लेकिन return null
अगर हम xml पर वस्तु निर्धारित किया है (जैसे कि मैंने अपने में क्या किया है main.xml
)। मुझे लगता है कि मुझे अपनी XML फ़ाइलों में कुछ याद आ रहा है।