मेरे पास एक गतिविधि है जिसमें 2 टुकड़े हैं। दोनों ListFragments हैं और दोनों मेनू में MenuItems का योगदान करते हैं। मेरे पास एक MenuItem है जिसे मैंने विशेषता android: showAsAction में सेट किया है, ताकि यह एक्शनबार पर एक बटन के रूप में दिखाई दे। जो ठीक काम करता है।
अब MenuItem राज्य निर्भर है। यह एक कतार को रोकने और फिर से शुरू करने के लिए एक पॉज़ / रिज्यूमे मेनू विकल्प है। मेरी समस्या यह है कि मैं यह पता नहीं लगा सकता कि फ्रेगमेंट बनने पर यह प्रारंभिक प्रतिमा कैसे सेट करें।
यह इस बात पर निर्भर करता है कि कतार रुकी है या नहीं। इसलिए मेरे पास एक AsyncTask है जो कतार को प्राप्त करता है और कतार की स्थिति के आधार पर एक बूलियन (रुका हुआ) सेट करता है। मैं कतार के अंतिम ज्ञात स्थिति के आधार पर रोकें मेनू आइटम के लिए पाठ सेट करने के लिए onPrepareOptionsMenu पर कॉल कर रहा हूं और अगर मैं वास्तविक मेनू में MenuItem को छोड़ता हूं तो यह बहुत अच्छा काम करता है। आप मेनू आइकन पर टैप करें और onPrepareOptionsMenu को निकाल दिया गया है और प्रदर्शित होने से पहले मेनू को अपडेट किया गया है।
समस्या यह है, अगर मैं ActionBar (showAsAction) पर वही MenuItem डाल देता हूं, तो मैं इसे onPrepareOptionsMenu पर कॉल किए बिना अपडेट करने के लिए कैसे मजबूर कर सकता हूं? मुझे ऐसा करने में सक्षम होने की आवश्यकता है क्योंकि ऐप के पहले लॉन्च पर, मैं कतार प्राप्त करने के लिए एक अनुरोध भेजता हूं, लेकिन ActionBar सेटअप होने और प्रदर्शित होने के बाद कार्य वापस आ जाता है। मैंने अपने टुकड़े में एक हैंडलर बनाया है जिसे हर बार जब मुझे कतार का अद्यतन प्राप्त होता है, तो मुझे कॉल किया जाता है, लेकिन वहां से, मैं एक्शनबेर पर अपने मेनू इटेम के लिए पाठ कैसे अपडेट कर सकता हूं? मैं वर्तमान में सेट मेनू को चालू करने के लिए एक तरीका खोजने के लिए प्रतीत नहीं कर सकता इसे onPrepareOptionMenu को छोड़कर।
रोब डब्ल्यू।