2012-03-22 13 views
7

क्या कोई मुझे बता सकता है या शायद एक लिंक या एक उदाहरण को इंगित कर सकता है कि जब टुकड़ों की बात आती है तो स्क्रीन अभिविन्यास को कैसे संभालना चाहिए। इस समय मेरी समस्या यह है कि मेरे पास तीन टैब वाले एक्शन बार वाला ऐप है। प्रत्येक टैब में एक टुकड़ा होता है। तो जब मैं डिवाइस फ्लिप, केवल एक टुकड़ा है कि मैं सेट के रूप में प्रयोगएक्शनबार में टैब के साथ टुकड़े हैंडलिंग स्क्रीन अभिविन्यास

actionbar.setSelectedNavigationItem(1) 

दिखाया गया है (कोई भ्रम के लिए, अन्य टैब दिखाई दे रहे हैं, लेकिन जब मैं उन पर क्लिक करें कुछ नहीं होता चयन किया है, वे नहीं कर सकते चुना और दिखाया जाना चाहिए। उनकी सामग्री कभी नहीं दिखाया गया है)। क्या इन मामलों में कुछ किया गया है? क्या कोई मुझे सलाह दे सकता है, मैं इसकी सराहना करता हूं। धन्यवाद।

उत्तर

13

मैं एक ही समस्या थी और यहाँ एक समाधान पाया: http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/app/FragmentTabs.html

समस्या पहले से ही पहले से सहेजे गए राज्य से टैब के लिए विखंडित हैं कि है। आपको उन्हें निष्क्रिय करना होगा।

यहाँ अपने TabListener के निर्माता के लिए कोड-टुकड़ा है:

public TabListener(Activity activity, String tag, Class<T> clz, Bundle args) { 
     mActivity = activity; 
     mTag = tag; 
     mClass = clz; 
     mArgs = args; 

     // Check to see if we already have a fragment for this tab, probably 
     // from a previously saved state. If so, deactivate it, because our 
     // initial state is that a tab isn't shown. 
     mFragment = mActivity.getFragmentManager().findFragmentByTag(mTag); 
     if (mFragment != null && !mFragment.isDetached()) { 
      FragmentTransaction ft = mActivity.getFragmentManager().beginTransaction(); 
      ft.detach(mFragment); 
      ft.commit(); 
     } 
    } 

आशा मैं आपकी मदद कर सकता है।

+0

मुझे कुछ दिन पहले, वही पता चला था। लेकिन इसे थोड़ा और अलग हल किया। टुकड़ों में onDestroyView विधि में, मैं उस विशेष खंड के लिए हटा देता हूं ताकि यह पिछले राज्यों से कोई टुकड़ा न हो। लेकिन आपका रास्ता भी समस्या हल करता है, मुझे कल्पना है। तो धन्यवाद! – Sandra

+0

अच्छी तरह से समझाया, समझ में आता है, एक विशिष्ट आम समस्या हल करता है। बहुत धन्यवाद। ए + – LeffelMania

+1

धन्यवाद! बीटीडब्लू, मैं विखंडन मनोरंजन (कभी-कभी यह लंबा होता है) से बचने के लिए कुछ जगहों को अलग/संलग्न करने के बजाय छुपा/शो का उपयोग करता हूं। और यह भी काम करता है। –

संबंधित मुद्दे