गतिविधियों के बीच डेटा स्थानांतरित करते समय, ऐरे जैसी जटिल डेटा संरचनाओं को पारित करना आवश्यक हो सकता है। यह आलेख बताता है कि Intent.putExtra() का उपयोग करके एक गतिविधि (ए) से दूसरे (बी) में पूर्णांकों की एक सरणी को प्रभावी ढंग से कैसे भेजा जाए।
समस्या:
इन गतिविधि ए, पूर्णांकों की एक सरणी प्रारंभ की गई है और गतिविधि बी में भेजने का इरादा है। हालांकि, गतिविधि बी में डेटा प्राप्त करने पर, अपेक्षित सरणी के बजाय केवल '0' मान पुनर्प्राप्त किया जाता है मान।
समाधान:
अतिरिक्त सेट करने और पुनर्प्राप्त करते समय समस्या डेटा प्रकार के बेमेल होने की है। दिए गए कोड में:
डेटा भेजते समय, putExtra() विधि का उपयोग एक सरणी तर्क के साथ किया जाता है:
i.putExtra("numbers", array);
डेटा प्राप्त करते समय, getExtras() विधि एकल के रूप में डेटा को पुनः प्राप्त करने का प्रयास करती है पूर्णांक:
int arrayB = extras.getInt("numbers");
सही दृष्टिकोण getIntArray का उपयोग करके डेटा को एक सरणी के रूप में प्राप्त करना है () इसके बजाय विधि:
int[] arrayB = extras.getIntArray("numbers");
getIntArray() का उपयोग करके, प्राप्त डेटा को एक पूर्णांक सरणी में सफलतापूर्वक संग्रहीत किया जा सकता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3