2010-12-28 19 views
5

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

धन्यवाद,

उत्तर

10

एक वर्ग बनाने के (कहते हैं कि वर्ग ए) जो गतिविधि प्रदान करता है और उसके बाद इस वर्ग का विस्तार करके अपने सभी अन्य गतिविधियों पैदा करते हैं। अब ए में एक वेक्टर में संग्रहीत सामान्य मेनू आइटम रखें और किसी भी विशेष गतिविधि के लिए किसी विशेष मेनू कार्रवाई को जोड़ा जा सकता है। इस तरह आप प्रत्येक गतिविधि में मेनू आइटमों की प्रतिलिपि बनाने और चिपकाने की परेशानी से बचते हैं

+0

समाधान के लिए धन्यवाद! यह काम करता था, लेकिन मेरे सभी वर्ग गतिविधि को विस्तारित नहीं कर रहे थे, कुछ सूचीत्मकता बढ़ा रहे थे और उस वर्ग पर निर्भरताएं थीं, इसलिए मुझे यकीन नहीं है कि इस मामले में कक्षा ए को विस्तारित करने पर काम नहीं किया जाएगा। – user522559

+1

एक सूचीत्मकता के बजाय सूचीदृश्य का उपयोग क्यों नहीं करें। सूचीदृश्य सबकुछ सूचीबद्धता प्रदान करेगा। बस अपनी गतिविधि के सदस्य चर के रूप में listview बनाएं और इसका उपयोग करें – pankajagarwal

1

एमवीसी के पीछे यह सामान्य विचार है - एक ही मॉडल (मेनू डेटा) के साथ अलग-अलग दृश्य (क्रियाएँ) दिखाने में सक्षम होने के लिए।

यदि आप इन मेनू को गतिशील रूप से लोड करते हैं - मेनू डेटा के साथ सिंगलटन क्लास बनाएं और इसे से प्राप्त करें।

यदि इन मेनू को पहले से ही xxx.xml में परिभाषित किया गया है - तो आपको नया menu.xml (उदाहरण के लिए) बनाना होगा और वहां मेनू विवरण निकालना होगा। फिर इसे सभी गतिविधि लेआउट में शामिल करें जिन्हें उस मेनू की आवश्यकता है।

आप हमेशा मेनू.एक्सएमएल को गतिशीलता भी बढ़ा सकते हैं।

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