मेरे पास मेरे टुकड़ों में से एक के लेआउट में एक FragmentTabHost है (चलो इसे पैरेंटफ्रैगमेंट कहते हैं)। अब, मैं प्रत्येक टुकड़े को शुरू करता हूं जो टैबहोस्ट में प्रोग्रामेटिक रूप से पेरेंटफ्रैगमेंट के क्रिएटिव्यू में जाते हैं। जब पैरेंटफ्रैगमेंट बनाया जाता है तो सबकुछ ठीक काम करता प्रतीत होता है और यह पहले टैब के टुकड़े को सही ढंग से दिखा रहा है।घोंसले में टैब-स्विच के बाद टुकड़े दिखाई नहीं देते हैं FragmentTabHost
लेकिन जैसे ही मैं टैब को एक बार स्विच करता हूं, टुकड़े गायब हो जाते हैं (मैं टैबहोस्ट का पृष्ठभूमि रंग देख सकता हूं, लेकिन टैबकंटेंट-कंटेनर की कोई सामग्री नहीं)। जब मैं इसे वापस स्विच करता हूं तो पहला खंड भी चला जाता है। टुकड़े वास्तव में मेरे लॉगिंग शो के रूप में बनाए जा रहे हैं, लेकिन वे दिखाई नहीं दे रहे हैं।
मुझे लगता है कि इसे टुकड़े बनाने के साथ (पुनः) करना है, क्योंकि मैंने FragmentPagerAdapter के साथ ViewPager का उपयोग करने का भी प्रयास किया है। वहां मैं पहले दो टुकड़ों के बीच खुशी से स्विच कर सकता था (setOffscreenPageLimit() == 1 के कारण प्रीलोड किया गया था, लेकिन इससे परे बनाए गए टुकड़े (पुनः) भी रिक्त थे।
कोई भी विचार किसी को भी ??
यहाँ है मेरी कोड के कुछ:
parentFragment के XML के निकालें:
...
<android.support.v4.app.FragmentTabHost
android:id="@android:id/tabhost"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TabWidget
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_alignParentTop="true" />
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="0dp"
android:layout_height="0dp" />
<FrameLayout
android:id="@+id/realtabcontent"
android:layout_below="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout>
</android.support.v4.app.FragmentTabHost>
...
parentFragment के XML के निकालें:
...
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
Log.d(TAG, "onCreateView");
ViewGroup layoutContainer = (ViewGroup) inflater.inflate(R.layout.fragment_app_details_test, container, false);
tabHost = (FragmentTabHost) layoutContainer.findViewById(android.R.id.tabhost);
tabHost.setup(getActivity(), getChildFragmentManager(), R.id.realtabcontent);
tabHost.addTab(tabHost.newTabSpec("tab1").setIndicator("TAB1"),
FragmentSubTab1.class, null);
tabHost.addTab(tabHost.newTabSpec("tab2").setIndicator("TAB2"),
FragmentSubTab2.class, null);
tabHost.addTab(tabHost.newTabSpec("tab3").setIndicator("TAB3"),
FragmentSubTab3.class, null);
return layoutContainer;
}
...
उप टैब के दशक में सरल लेआउट मुद्रास्फीति खंड:
...
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
ViewGroup layoutContainer = (ViewGroup) inflater.inflate(R.layout.subfragment1, container,
false);
initUi(layoutContainer);
return layoutContainer;
}
...
तो फोकस बदलते समय टुकड़े छुपाए जाते हैं? – jsmith
यह पता चला है कि आसपास के कस्टम व्यू ग्रुप इस समस्या का कारण बन रहा था जिस तरह से इसे चालू और चालू किया गया था। – Till
@ क्या आप इसे हल करने के लिए प्रबंधित नहीं किया था? अब एक ही मुद्दा प्राप्त करना http://stackoverflow.com/questions/17009462/fragmenttabhost-on-tab-change-the-fragments-get-destroyed-and-disappear –