फिर से संलग्न किया गया है। मैं सभी नए एक्शनबार और फ्रैगमेंट एपीआई पर हैंडल प्राप्त करने की कोशिश कर रहा हूं। मेरे पास एक मुख्य गतिविधि है, और मैं इसे दो अलग-अलग टैब प्रबंधित करना चाहता हूं। आईसीएस की तुलना में पुराने संस्करण का समर्थन करने के लिए मैं एक्शनबारशरलॉक का उपयोग कर रहा हूं।फ्रैगमेंट ऑन रेस्यूम को फ्रैगमेंट को अलग करने के बाद बुलाया नहीं जाता है और फिर
प्रत्येक टैब का अपना Fragment
मैं यह मूल रूप से अच्छा काम मिल गया (हर एक के SherlockListFragment
एक उपवर्ग है) शामिल हैं, लेकिन मैं एक समस्या यह है कि मुझे यकीन है कि मूर्ख है कर रहा हूँ है, लेकिन मैं यह समझ नहीं अभी तक:
पहली बार प्रत्येक टुकड़ा दिखाया गया है, सब ठीक है, सूची आबादी है और इसलिए एक्शनबार में मेनू इटम्स।
लेकिन दूसरी बार जब आप एक टैब देखते हैं (swicth और switch-back के बाद), न तो सूची पॉप्युलेट हो जाती है, न ही एक्शनबार मेनू इटम्स।
@Override
public void onTabSelected(Tab tab, FragmentTransaction transaction) {
SherlockListFragment toAttach = // Find the right fragment here...
if (toAttach != null) {
if (toAttach.isAdded() == false) {
transaction.add(R.id.tab_placeholder, toAttach,
REMINDER_FRAGMENT_TAG);
} else {
transaction.attach(toAttach);
}
}
}
और onTabUneselect मैं टुकड़ा अलग करने कर रहा हूँ:
@Override
public void onTabUnselected(Tab tab, FragmentTransaction transaction) {
SherlockListFragment toDetach = // Find the right fragment
if (toDetach != null) {
transaction.detach(toDetach);
}
}
मैं onResume में सूचियों और ActionBar मेनू को आबाद करने कर रहा हूँ
यह कैसे मैं टैब स्विचिंग कर रहा हूँ है:
@Override
public void onResume() {
super.onResume();
setHasOptionsMenu(true);
fillRemindersList();
}
मैं भी onStart और onCreateView में यह कोशिश की, लेकिन यह मदद नहीं की ...
तो मैं यहां क्या खो रहा हूं? और यदि मेरे कोड में अन्य समस्याएं हैं जिन्हें मैं अनजान हूं, तो कृपया बताएं।
धन्यवाद!
संपादित करें:
मैं सिर्फ इस बात की पुष्टि onResume
के बाद मैं टैब स्विच है, जो निश्चित रूप से गलत के बाद से मैं अलग करने रहा हूँ और उन्हें फिर से संलग्न है कहा जाता हो dosen't कि ... मैं स्विचन हूँ टैब गलत रास्ता?
धन्यवाद, मुझे उम्मीद है कि यह जवाब है, हालांकि यह अब प्रासंगिक नहीं है, क्योंकि मैंने सूची नेविगेशन में स्विच किया है। (मेरे मामले में और अधिक समझदारी करें, और पूरी तरह से काम करता है :)) –
मेरे मामले में 'FragmentTranaction.remove (खंड # 1)' को खंड # 1 में कॉल करने से पहले 'FragmentTransaction.commit()' को कॉल करने से पहले मुझे खंड # 1 को मजबूर करने में मदद करता है को रोकें() ... onDestroyView() को चालू करने और क्रिएटिव्यू() ... ऑनर्यूज़() पर जाएं जब मैं खंड # 1 पर वापस लौटने पर वापस लौटता हूं। –