तो मूल रूप से जो मैं हासिल करने की कोशिश कर रहा हूं वह Galleryएंड्रॉइड में खुल रहा है और उपयोगकर्ता को चुनने दें multiple images। अब यह सवाल अक्सर पूछा जाता है, लेकिन मैं जवाबों से संतुष्ट नहीं हूं। मुख्य रूप से क्योंकि मुझे अपने आईडीई में डी डॉक्स में कुछ दिलचस्प मिला (मैं इस पर बाद में वापस आता हूं) और इस तरह मैं एक कस्टम एडॉप्टर का उपयोग नहीं करना चाहता, लेकिन सिर्फ वेनिला एक।
अब एक छवि चुनने के लिए मेरा कोड है:
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent,"Select Picture"), 1);
अब एसओ और अन्य वेबसाइटों पर मौजूद लोग आपको बताएंगे कि आपके पास 2 विकल्प हैं:
1) का उपयोग न करें ACTION_GET_CONTENT, लेकिन ACTION_SEND_MULTIPLEबजाय।
यह काम नहीं करता है। यह एक sendingफ़ाइलों के लिए डॉक्स के अनुसार है और नहीं retrievingऔर ठीक यही वह करता है। ACTION_SEND_MULTIPLE का उपयोग करते समय मुझे अपने डिवाइस पर एक विंडो खोली गई जहां मुझे अपना डेटा भेजने के लिए एक एप्लिकेशन का चयन करना होगा। यह वह नहीं है जो मैं चाहता हूं, इसलिए मुझे आश्चर्य है कि लोगों ने इसे इस समाधान के साथ कैसे हासिल किया .. क्या मुझे कुछ याद है?
2) ए लागू करें custom Gallery। अब यह मेरा आखिरी विकल्प है क्योंकि मैं इस पर विचार करूंगा क्योंकि यह वह नहीं है जिसकी मैं तलाश कर रहा हूं क्योंकि मुझे इसे खुद स्टाइल करना है और क्यों आप सिर्फ वैनिला गैलरी में कई छवियों का चयन नहीं कर सकते हैं?
इसके लिए एक विकल्प होना चाहिए .. अब दिलचस्प बात यह है कि जो मैंने पाया वह यह है:
मैंने इसे डॉक्स विवरण में पाया ACTION_GET_CONTENT।
यदि कॉलर कई लौटाए गए आइटम (उपयोगकर्ता कई चयन कर रहा है) को संभाल सकता है, तो वह यह इंगित करने के लिए EXTRA_ALLOW_MULTIPLE निर्दिष्ट कर सकता है।
यह काफी दिलचस्प है। यहां वे इसे उपयोग के मामले में संदर्भित कर रहे हैं जहां उपयोगकर्ता कई वस्तुओं का चयन कर सकता है?
बाद में वे डॉक्स में कहते हैं:
उपयोगकर्ता को कई आइटम चुनने की अनुमति देने के लिए आप EXTRA_ALLOW_MULTIPLE का उपयोग कर सकते हैं।
तो यह बहुत स्पष्ट सही है? यह वही चीज है जिसकी मुझे जरूरत है। लेकिन मेरा निम्नलिखित प्रश्न है: मैं इसे कहां रख सकता हूं EXTRA_ALLOW_MULTIPLE? दुखद बात यह है कि मुझे यह नहीं मिल रहा है जहाँ Developers.android गाइड में और यह भी INTENT वर्ग में एक स्थिरांक के रूप में परिभाषित नहीं है।
किसी को भी इस के साथ मेरी मदद कर सकते हैं EXTRA_ALLOW_MULTIPLE?
EXTRA_ALLOW_MULTIPLEआपको कई आइटम चुनने देती है। में getClipData()लौटे इरादे से कॉल करके URI प्राप्त करें onActivityResult। एकमात्र समस्या यह है कि गैलरी विजेट एकाधिक चयन की अनुमति नहीं देगा। उस स्थिति में किसी भी छवि पर क्लिक करने से आप चॉसर खत्म कर लेंगे और getDataलौटे इरादे से कॉल करके यूआरआई (सिंगल आइटम) प्राप्त कर सकते हैं