Tuesday 13 March 2018

एंड्रॉयड - expandablelistview - समूह - सूचक - विदेशी मुद्रा


खाली समूह के लिए ग्रुप इंडिकेटर छुपाना एक और विषय जो इस ब्लॉग पर लौटता रहता है वह विस्तार योग्य सूची दृश्य है। ऐसा लगता है कि उन परेशानी फैलाने योग्य सूचियों को हमेशा स्टोर में कुछ आश्चर्य हैं इस बार मैं समूह संकेतकों और खाली समूहों के मुद्दे पर चला गया। समूह संकेतक समूह पंक्तियों के सामने उन छोटे तीरों को इंगित करते हैं, चाहे समूह का विस्तार हो या ढह जाए। समस्या यह है कि वे संकेतक हमेशा दिखाई देते हैं, भले ही समूह खाली हो। यह उन उपयोगकर्ताओं को भ्रमित करता है जो सोचते हैं कि वे समूह का विस्तार कर सकते हैं। समूह वास्तव में फैलता है, लेकिन जैसा कि खाली है, कोई भी बाल पंक्तियां दिखाई नहीं देतीं जो अत्यंत परेशान हो सकती हैं। कुछ इंटरनेट स्रोतों को वैरिएबल ड्रॉएबल के साथ जादूगर का प्रस्ताव दिया जाता है जो ग्रुप इंडिकेटर का समर्थन करता है। यदि आप सलाह का पालन करते हैं, तो ग्रुप इंडिकेटर सभी गिरने वाले समूहों के लिए गायब हो जाएगा (यहां तक ​​कि जिन लोगों के पास बाल पंक्तियाँ हैं)। यह आश्चर्यजनक व्यवहार डिजाइन है ExpandableListView के स्रोत में टिप्पणी कहते हैं: यदि समूह ढह जाता है तो हम इसे प्रदर्शन कारणों के लिए खाली मानते हैं। जिस पद्धति में इस व्यवहार को वायर्ड किया गया है वह निजी है, इसे विस्तारित लिस्टव्यू उप-क्लासिंग द्वारा अधिभारित करना संभव नहीं है। सौभाग्य से समाधान बहुत सरल है, भले ही थोड़ी मुश्किल हो। हम ExpandableListView में समूह सूचक लॉजिक को पूरी तरह अक्षम कर देंगे और विस्तारक सूची का समर्थन करने वाले एडेप्टर से अपना स्वयं का सूचक प्रदान करें। यह मुख्य सूचकांक मुख्य। एक्सएमएल में एक पारदर्शी रंग के लिए सेट करके अक्षम किया गया है। फिर हम getGroupView को एडाप्टर में ओवरराइड करते हैं (इस समय यह एक SimpleExpandableListAdapter था लेकिन विधि किसी भी एडेप्टर के लिए काम करती है)। हमें समूह लेआउट में मैन्युअल रूप से एक छवि दृश्य जोड़ना पड़ा - यह आमतौर पर ExpandableListView द्वारा स्वचालित रूप से किया जाता है, लेकिन हमने अभी उस कार्यक्षमता को अक्षम कर दिया है एक बार GetGroupView समूह पंक्ति देता है, हम ImageView को हेरफेर करते हैं जो ग्रुप इंडिकेटर के रूप में कार्य करता है, इसके विस्तृत समूह के बगल में समूह के लिए बच्चे की गिनती पर विचार करते हैं। दुर्भाग्यवश इसका मतलब है कि आपके पास अपने प्रोग्राम में कस्टम विस्तारित कैलकुलेटर आइकन हैं - उन आइकन उदाहरण प्रोग्राम में बेहद बदसूरत हैं, मैं उन्हें सुशोभित करने के लिए होमवर्क के रूप में आपको छोड़ देता हूं। 16 टिप्पणियाँ: डेवलपर वेबसाइट्स के नेटवर्क पर एक समुदाय के नेता I39m। 160 मैं वास्तव में आपकी ब्लॉग सामग्री पसंद आया और सोचा कि आप हमारी साइटों पर कुछ अतिरिक्त एक्सपोजर में दिलचस्पी ले सकते हैं। 160 मुझे डोजोन डॉट कॉम पर रोस पर एक ईमेल भेजें और मैं सभी विवरण समझा सकता हूं। अरे क्या तुम मेरी मदद कर सकते हो मैं किसी भी विस्तार योग्य सूची में समूह सूचक को देखने में सक्षम नहीं हूं। क्या टंगना समस्या होगी। StrayPointers पर उत्तर दिया और ब्लॉग से कोड का जवाब, आप कोड को और भी आसान बना सकते हैं: अपने एक्सएमएल में विस्तार करने योग्य लिस्ट दृश्य के लिए आगे बढ़ें: फिर एडैप्टर में आप निम्न करते हैं: setImageResource विधि का उपयोग करके आप यह सब एक-लाइनर के साथ किया जाता है आपको अपने अनुकूलक में तीन पूर्णांक सरणियों की आवश्यकता नहीं है आपको विस्तारित और संक्षिप्त स्थिति के लिए एक XML चयनकर्ता की आवश्यकता नहीं है। सभी जावा के माध्यम से किया जाता है साथ ही, यह दृष्टिकोण भी सही सूचक प्रदर्शित करता है जब एक समूह डिफ़ॉल्ट रूप से विस्तारित होता है जो ब्लॉग से कोड के साथ काम नहीं करता है। जुलाई 10 12 को 15:29 उत्तर दिया मैं इस कोड को कहाँ आवेदन कर सकता हूं ndash कार्तिक 26 सितंबर को 6:28 यह आपके BaseExpandableListAdapter कार्यान्वयन के getGroupView () विधि में इस्तेमाल किया जा रहा है। इस उदाहरण कार्यान्वयन पर एक नज़र डालें ndash jenzz 26 सितंबर 11:34 1 उर उत्तर जीन्स के लिए मैं पहले से ही उस लिंक thnx के माध्यम से चले गए हैं ndash कार्तिक Sep 28 13 at 1:47 jenzz उद्धरण चिह्नों का क्या मतलब है 24 जनवरी को 6:44 पर जेनज, जहां एक जादू परिवर्तक उद्धरण चिह्न है ndash जोसेफ 17 अप्रैल 17 को 17:01 जैसा कि एक अलग जवाब में उल्लिखित है, क्योंकि Android एक बिना विस्तारित सूची समूह को रिक्त रूप से, उस समूह के पास बच्चों के होने के बावजूद आइकन नहीं खींचा। असल में आपको डिफ़ॉल्ट को पारदर्शी रूप से तैयार करने योग्य सेट करना पड़ता है, ड्रॉएबल को एक छवि दृश्य के रूप में अपने समूह दृश्य में ले जाएं और अपने एडाप्टर में छवि टॉगल करें। बस, आप छुपी समूह शीर्षलेख के लिए height0 के साथ एक नया xml लेआउट बनाते हैं। उदाहरण के लिए, इसके grouplistitemempty. xml फिर आपका सामान्य समूह हैडर लेआउट है yourgrouplistitemfile. xml अंत में, आप बस अपने एडाप्टर क्लास में getGroupView विधि को अपडेट करते हैं: महत्वपूर्ण लेआउट फाइलों का मूल टैग (छिपा हुआ और सामान्य) अलग होना चाहिए (जैसा कि ऊपर दिए गए उदाहरण, लाइनरलेआउट और रिलेटिव लेआउट) खाली समूह के लिए समूह सूचक छुपाना एक और विषय जो इस ब्लॉग पर लौटते हैं, विस्तार योग्य सूची दृश्य है। ऐसा लगता है कि उन परेशानी फैलाने योग्य सूचियों को हमेशा स्टोर में कुछ आश्चर्य हैं इस बार मैं समूह संकेतकों और खाली समूहों के मुद्दे पर चला गया। समूह संकेतक समूह पंक्तियों के सामने उन छोटे तीरों को इंगित करते हैं, चाहे समूह का विस्तार हो या ढह जाए। समस्या यह है कि वे संकेतक हमेशा दिखाई देते हैं, भले ही समूह खाली हो। यह उन उपयोगकर्ताओं को भ्रमित करता है जो सोचते हैं कि वे समूह का विस्तार कर सकते हैं। समूह वास्तव में फैलता है, लेकिन जैसा कि खाली है, कोई भी बाल पंक्तियां दिखाई नहीं देतीं जो अत्यंत परेशान हो सकती हैं। कुछ इंटरनेट स्रोतों को वैरिएबल ड्रॉएबल के साथ विज़ार्ड का प्रस्ताव दिया जाता है जो ग्रुप इंडिकेटर का समर्थन करता है। यदि आप सलाह का पालन करते हैं, तो ग्रुप इंडिकेटर सभी गिरने वाले समूहों के लिए गायब हो जाएगा (यहां तक ​​कि जिन लोगों के पास बाल पंक्तियाँ हैं)। यह आश्चर्यजनक व्यवहार डिजाइन है ExpandableListView के स्रोत में टिप्पणी कहते हैं: यदि समूह ढह जाता है तो हम इसे प्रदर्शन कारणों के लिए खाली मानते हैं। जिस पद्धति में इस व्यवहार को वायर्ड किया गया है वह निजी है, इसे विस्तारित लिस्टव्यू उप-क्लासिंग द्वारा अधिभारित करना संभव नहीं है। सौभाग्य से समाधान बहुत सरल है, भले ही थोड़ी मुश्किल हो। हम ExpandableListView में समूह सूचक लॉजिक को पूरी तरह अक्षम कर देंगे और विस्तारक सूची का समर्थन करने वाले एडेप्टर से अपना स्वयं का सूचक प्रदान करें। यह मुख्य सूचकांक मुख्य। एक्सएमएल में एक पारदर्शी रंग के लिए सेट करके अक्षम किया गया है। फिर हम getGroupView को एडाप्टर में ओवरराइड करते हैं (इस समय यह एक SimpleExpandableListAdapter था लेकिन विधि किसी भी एडेप्टर के लिए काम करती है)। हमें समूह लेआउट में मैन्युअल रूप से एक छवि दृश्य जोड़ना पड़ा - यह आमतौर पर ExpandableListView द्वारा स्वचालित रूप से किया जाता है, लेकिन हमने अभी उस कार्यक्षमता को अक्षम कर दिया है एक बार GetGroupView समूह पंक्ति देता है, हम ImageView को हेरफेर करते हैं जो ग्रुप इंडिकेटर के रूप में कार्य करता है, इसके विस्तृत समूह के बगल में समूह के लिए बच्चे की गिनती पर विचार करते हैं। दुर्भाग्यवश इसका मतलब है कि आपके पास अपने प्रोग्राम में कस्टम विस्तारित कैलकुलेटर आइकन हैं - उन आइकन उदाहरण प्रोग्राम में बेहद बदसूरत हैं, मैं उन्हें सुशोभित करने के लिए होमवर्क के रूप में आपको छोड़ देता हूं। 16 टिप्पणियाँ: डेवलपर वेबसाइट्स के नेटवर्क पर एक समुदाय के नेता I39m। 160 मैं वास्तव में आपकी ब्लॉग सामग्री पसंद आया और सोचा कि आप हमारी साइटों पर कुछ अतिरिक्त एक्सपोजर में दिलचस्पी ले सकते हैं। 160 मुझे डोजोन डॉट कॉम पर रोस पर एक ईमेल भेजें और मैं सभी विवरण समझा सकता हूं। अरे क्या तुम मेरी मदद कर सकते हो मैं किसी भी विस्तार योग्य सूची में समूह सूचक को देखने में सक्षम नहीं हूं। क्या घूंट समस्या होगी। विस्तार योग्य लिस्ट दृश्य में गहराई से चल रहा है मैं एक और अजीब एपीआई डिजाइन मुद्दे पर आया था। यह एक विस्तारयोग्यलिस्टव्यू समूह सूचक छवियों के बारे में है। ये चित्र सूची में समूह पंक्ति के बाईं ओर प्रदर्शित किए जाते हैं। जैसा कि नाम से पता चलता है वे इंगित करते हैं कि समूह का विस्तार या संक्षिप्त हो गया है। जाहिर है यहां दो अलग-अलग छवियां हो सकती हैं और एंड्रॉइड इसका समर्थन करता है आप दो राज्यों के साथ एक एक्सएमएल ड्रॉएबल चयनकर्ता (सेट ग्रुप इंडिकेटर (ड्रॉएबल ग्रुप इंडिकेटर) लिख सकते हैं: विस्तारित समूह के लिए ढंका और स्टेट एक्सपेंडेड के लिए स्टेटमेंट। खैर, मेरे लिए यह भी स्पष्ट है कि दो छवियों में दो अलग-अलग आकार हो सकते हैं, ठीक है, जाहिर है यह उन लोगों के लिए इतना स्पष्ट नहीं है, जिन्होंने एंड्रॉइड एपीआई के इस हिस्से को डिजाइन किया है। आपके पास दो अलग-अलग समूह राज्यों के लिए दो अलग-अलग छवियां हो सकती हैं, लेकिन 8230 दोनों छवियों को आपके द्वारा सेट किए गए आकार में फिट करने के लिए बढ़ाया जाएगा ExpandableListView 8216s setIndicatorBounds (int left, int right) विधि आपके पास क्या विकल्प हैं आप अपनी दो छवियों में से किसी एक को मैच करने के लिए सूचक सेट की चौड़ाई निर्धारित कर सकते हैं (सेट इंडिकेटरबॉन्स के माध्यम से (इंट बाइट, इंट दाहिना)) और इस प्रकार के चयनकर्ता का उपयोग करके मतभेदों की भरपाई करें: उपरोक्त उदाहरण में विस्तारित छवि व्यापक है, इसलिए हम एंड्रॉइड में 20 डीपी की क्षतिपूर्ति करते हैं: ढह गई छवि का सही समन्वय जैसा कि आप देख सकते हैं कि दोनों छवियों के लिए कुछ नमूना शीर्ष और नीचे मार्जिन भी हैं। दूसरा विकल्प आपकी छवियों को 9-पैच में परिवर्तित करना है, सावधानीपूर्वक खींचने योग्य और गैर-विस्तारणीय भागों का चयन करना। जैसा कि यह हाथ से छवि संपादन से संबंधित है, मैं इस समाधान को अव्यावहारिक मानता हूं। आप अपने सूचक को चयनकर्ता वस्तुओं में अशक्त करने के लिए भी सेट कर सकते हैं और एक्सएमएल पंक्ति लेआउट के अंदर अपने सूचक विचार डाल सकते हैं। GetGroupView कार्यान्वयन में अपने पंक्ति लेआउट से इन्हें बढ़ाने के बाद आपको एक कस्टम विस्तारयोग्य लिस्टएडैप्टर लिखना होगा और इंडेक्स को प्रदर्शित करें मैं haven8217t अभी तक यह परीक्षण किया है, लेकिन यह सबसे अच्छा समाधान की तरह लग रहा है समूह संकेतकों की इस बेकार सुविधा को ख़त्म करें और इसे अपना रास्ता बनाएं

No comments:

Post a Comment