का उपयोग करके खंड (?) लेआउट या गतिविधि बदलें, मैं नए नेविगेशन ड्रॉवर का उपयोग करने का प्रयास कर रहा हूं। मैंने दिशानिर्देश का पालन किया और मैं इसे चयनित आइटम पर बदलते अनुभाग नाम शीर्षक के साथ काम करने में कामयाब रहा। अब मैं फंस गया हूं क्योंकि मुझे नहीं पता कि मैं आगे क्या करना चाहता हूं उसे संग्रहित करना है।नेविगेशन ड्रॉवर
जब मैं दराज में एक आइटम पर क्लिक करें - घर, उदाहरण के लिए मैं यह मुझे एक स्क्रीन जहाँ मैं सब सामान मैं विशिष्ट स्क्रीन के लिए एक विशेष लेआउट में बनाया है करने के लिए लाना चाहते हैं। यह TextViews
और छवियों जैसी सभी स्थिर सामग्री है, इसलिए मुझे उनके साथ कुछ भी करने की ज़रूरत नहीं है।
क्या मुझे activity
और ड्रावर के ListView
पर प्रत्येक आइटम के लिए एक लेआउट बनाना चाहिए (और अभी तक कैसे करें) onItemSelected()
में गतिविधि शुरू करें? या मैं फ्लाई पर हर बार एक टुकड़ा बनाने की तरह कुछ कर सकते हैं मैं ListView
में एक आइटम पर क्लिक करें और कहते हैं कि कुछ की तरह
if(homeClicked){ //use home.xml as layout }
if(contactClicked){ //use contact.xml as layout }
संपादित
एक परीक्षण मैं onItemClick()
एक विधि है कि पारित कर दिया में डाल के रूप में सरणी स्थिति में क्लिक किया गया। एक परीक्षण के रूप मैं बस की तरह इस्तेमाल किया:
if(position==2) { // this is "contact" in the list layout
setContentView(R.layout.contacts);
}
यह कार्य करता है, लेकिन स्पष्ट रूप से मैं संपर्कों लेआउट सामान के रूप में दराज खो DrawerLayout
में नेस्ट नहीं है। स्थिति पर का उपयोग करने और setContentView()
का उपयोग करने के बजाय DrawerLayout
में घोंसला करने के लिए किसी भी लेआउट को संशोधित करने के बजाय मेरे लक्ष्य को प्राप्त करने का एक और शानदार तरीका है? (मैं भी नहीं जानता कि यदि यह संभव है -, के रूप में वहाँ बराबर आईडी नहीं शायद)
@Stefan इस संपादित वहाँ टिप्पणी जबाब
धन्यवाद स्टीफन में पर्याप्त स्थान नहीं है के रूप में, गूगल उदाहरण है वह चीज जो मुझे और उलझन में डाल देती है। मुझे यकीन है कि टुकड़ों के बारे में बहुत कम स्नीकी चीज है जिसे मैंने शायद 10k बार पढ़ा है लेकिन मेरा दिमाग आत्मसात करने से इंकार कर देता है। जब तक मैं समझ गया, Google के उदाहरण में जब आप दराज में किसी आइटम पर क्लिक करते हैं, तो यह एक नया टुकड़ा बनाता है और यह टुकड़ा MainActivity
के xml लेआउट में ड्रॉवर के ListView
के अलावा एकमात्र चीज़ को प्रतिस्थापित करता है, जो FrameLayout
है जो स्क्रीन की सभी जगह लेता है। फिर सभी टुकड़े एक ग्रह ImageView
प्रदर्शित करते हैं, इसलिए कोड उस छवि को ListView
आइटम क्लिक के आधार पर उस छवि को बदलने के लिए खंड को कहता है।
साइट पर नया है इसलिए मुझे नहीं पता कि कोई टिप्पणी संपादित करने से आपको कोई जानकारी मिलती है, बीटीडब्लू संपादित मुख्य पोस्ट के रूप में टिप्पणी स्थान – kandros
Google उदाहरण उसी फ्रैगमेंट का पुनः उपयोग करता है एक छवि दृश्य स्विच करने के लिए एक अलग तर्क के साथ, लेकिन उसी फैशन में आप बस एक स्विच स्टेटमेंट में निर्माण कर सकते हैं और फ्रैगमेंट को पूरी तरह से नए टुकड़े के साथ प्रतिस्थापित कर सकते हैं जिसमें इसका अपना विचार और तर्क है। –