में उचित रूप से एक टुकड़ा बनाना, मैं एंड्रॉइड विकास के लिए नया हूं और मैं जो करने की कोशिश कर रहा हूं उसे पूरा करने के बारे में उलझन में हूं। मैंने टुकड़ों के बारे में कुछ पढ़ा और सीख लिया है ताकि मैं विभिन्न स्क्रीन आकार के डिज़ाइनों के बीच लेआउट और कोड साझा कर सकूं। मेरे पास कुछ टुकड़े बनाए गए हैं और उन्हें सफलतापूर्वक उपयोग किया है। लेकिन मुझे एक ऐसी स्थिति मिली है जहां मैं फोन पर एक सामान्य गतिविधि में एक टुकड़ा दिखाना चाहता हूं, लेकिन एक टैबलेट पर पॉपअपविंडो (या बेहतर विकल्प होने पर कुछ ऐसा) में टुकड़ा दिखाना चाहता हूं।एक पॉपअपविंडो
मैंने यह पता लगाने में कामयाब रहा है कि खंड को कैसे बढ़ाया जाए और इसे बटन पर क्लिक करने पर पॉपअपविंडो में प्रदर्शित किया जाए। मेरे कोड इस तरह दिखता है:
public void onClick(View v) {
LayoutInflater inflater = (LayoutInflater) BrowsingActivity.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View popupLayout = inflater.inflate(R.layout.serverconnection_fragment, null, false);
connectionListPopup = new PopupWindow(popupLayout, 300, 470, true);
connectionListPopup.showAtLocation(BrowsingActivity.this.findViewById(R.id.connectionListImage), Gravity.CENTER, 0, 0);
}
पॉपअप दिखाई देता है और यूआई serverconnection_fragment.xml में वर्णित हैं। समस्या यह है कि इसे इस तरह से बनाकर, फ्रैगमेंट क्लास ServerConnectionFragment.java कभी भी तत्काल नहीं किया जाता है, इसलिए मेरे यूआई में सूची में कोई आइटम नहीं है, बटन पर कोई श्रोताओं नहीं है, और इसी तरह। ऐसा लगता है कि जावा क्लास को तुरंत चालू करने का एक तरीका होना चाहिए, क्या यह सामान्य रूप से टुकड़े को बढ़ाता है और ईवेंट श्रोताओं को संलग्न करता है, फिर पॉपअपविंडो कन्स्ट्रक्टर में बनाए गए दृश्य को पास करता है, लेकिन मैं यह नहीं समझ सकता कि कैसे। क्या कोई मेरी मदद कर सकता है?
एफवाईआई, मैं फ्रैगमेंट कक्षाओं के लिए एंड्रॉइड-समर्थन-v4.jar फ़ाइल का उपयोग करके एंड्रॉइड 2.1 के लिए इसे बना रहा हूं।
निश्चित रूप से सही उत्तर, धन्यवाद इसके अतिरिक्त, जब हम अपने पॉपअपविंडो में एक सूची दिखा रहे थे तो उसने कॉन्टेक्स्टमेनू को दिखाने से इनकार कर दिया था जिसे हमने सूची के लिए निर्दिष्ट किया था। डायलॉग फ्रैगमेंट पर स्विच करने से हमें इसे हल करने की इजाजत मिली। –
क्या आप संभवतः अपने आखिरी वाक्य को समझा सकते हैं या उदाहरण दे सकते हैं, यदि संभव हो तो पॉपअपविंडो में खंड को प्रारंभिक उदाहरण के रूप में जोड़ना? "आप अभी भी इस टुकड़े को एक लेआउट में जोड़ सकते हैं (जैसा कि आप कहते हैं, उस फ़ोन पर जिसे आप नहीं चाहते हैं एक पॉपअप के रूप में दिखाया जाना है) और यह काम करेगा कि आप कैसे उम्मीद करते हैं। " – JPMagalhaes
@JPMagalhaes, मजबूत सलाह देते हैं कि पॉपअपविंडो में खंड का उपयोग न करें क्योंकि यह मेमोरी रिसाव समस्या – Jacky