में अजीब विकल्प मेनू व्यवहार मेरे पास चार टैब के साथ TabActivity
है (प्रत्येक अपनी गतिविधि है)। प्रत्येक टैब अपने onCreateOptionsMenu
(और कुछ मामलों में, onPrepareOptionsMenu
) को परिभाषित करता है। जब प्रत्येक टैब लोड होता है, तो AsyncTask
उस टैब की सूची को पॉप्युलेट करने के लिए आवश्यक डेटा पुनर्प्राप्त करने के लिए लात मार दिया जाता है।एंड्रॉइड टैबएक्टिविटी
यदि मैं टैब के बीच बहुत तेज़ी से स्विच करता हूं (जब वे अभी भी लोड हो रहे हैं) और फिर मेनू बटन दबाएं (जबकि वर्तमान टैब का AsyncApiTask
अभी भी चल रहा है), तो मैं गलत विकल्प मेनू प्रकट करने में सक्षम हूं।
उदाहरण के लिए, मान लीजिए कि FooActivity
(टैब 1) एक "ताज़ा" आइटम के साथ एक विकल्प मेनू है, और BarActivity
(टैब 2) एक आइटम "सभी देखें" के साथ एक विकल्प मेनू है। यदि मैं ऐप (टैब 1 सक्रिय के साथ) शुरू करता हूं, तो जल्दी से टैब 2 पर स्विच करें, और उसके बाद मेनू दबाएं, "ताज़ा करें" आइटम (अपेक्षित "सभी देखें" आइटम) के बजाय कभी-कभी दिखाएगा।
इसके अलावा, जबकि इस अजीब व्यवहार कभी-कभी सिर्फ पहली मेनू प्रेस पर होता है (और बाद में प्रेस सही आइटम दिखाने), कभी कभी यह "अटक जाने" हो जाता है, और जब तक मैं टैब स्विच गलत आइटम हर प्रेस पर दिखाई देंगी।
कोई विचार क्या हो सकता है? मैंने पहले ऐसा नहीं किया है, और कोई अच्छा सुझाव नहीं मिला है।
यह कारणों की असीमित सूची में से एक है कि मैं टैब की सामग्री के रूप में गतिविधियों का उपयोग क्यों नफरत करता हूं। अपने टैब को सरल दृश्य बनाएं, और सक्रिय टैब के आधार पर आपके * एकल * 'onPrepareOptionsMenu()' प्रतिनिधि को कार्यान्वयन के लिए प्रतिनिधि बनाएं। – CommonsWare
आह उत्कृष्ट, यह जानकर बेहद आरामदायक है कि मैं इसका कारण बनने में बहुत कुछ गलत नहीं कर रहा हूं। मैं इस समाधान पर विचार करूंगा। धन्यवाद! – jakeboxer