5

का हिस्सा है मैंने हाल ही में एपीआई v4 के लिए एंड्रॉइड कॉम्पैट लाइब्रेरी से फ्रैगमेंट्स और व्यूपेजर का उपयोग करने के लिए सक्रियण और टैबहोस्ट का उपयोग करने से अपने एप्लिकेशन को परिवर्तित कर दिया है, मैं ज्यादातर समस्याओं को हल/हल करने में सक्षम था लेकिन बरकरार रखने में असमर्थ हूं setTextFilterEnabled विधि का उपयोग करके ListViews में फ़िल्टरिंग टेक्स्ट के साथ पिछले व्यवहार।फ़िल्टरिंग सूची देखें जो व्यूपेजर फ्रैगमेंट

मेरा ViewPagerAdapter में फ्रैगमेंट्स हैं जिनमें प्रत्येक के पास ListView है। चूंकि उपयोगकर्ता ViewPager के माध्यम से स्वाइप करते हैं, तो मैं वर्तमान में सक्रिय फ्रैगमेंट की सूची दृश्य को उपयोगकर्ता प्रकार के रूप में टेक्स्ट फ़िल्टर करने के लिए चाहता हूं, जैसे कि मैं टैबहोस्ट-गतिविधि मॉडल के साथ करने में सक्षम था। वर्तमान में, ऐसा लगता है कि पहली फ्रैगमेंट की सूची दृश्य सही ढंग से प्रतिक्रिया देगी, लेकिन अगर मैं अगले खंड में स्वाइप करता हूं और इसकी सूची दृश्य को फ़िल्टर करने का प्रयास करता हूं, तो फ़िल्टरिंग अभी भी पहले पर लागू होगी। अगर मैं पहले दो को मिटा देता हूं और फिर फिल्टर करता हूं, तो परिणाम गैर निर्धारक होते हैं। वर्तमान में सक्रिय फ्रैगमेंट फ़िल्टर को कभी भी लागू नहीं करेगा। कभी-कभी एक पड़ोसी टुकड़ा होगा, कभी-कभी यह नहीं होगा।

मैंने कस्टम कॉलबैक जोड़कर इसे ठीक करने का प्रयास किया जो मुझे निगरानी करता है कि कौन सा टुकड़ा वर्तमान में दिखाई दे रहा है, और जो छुपाए गए हैं। जब एक टुकड़ा ViewPager के मुख्य टुकड़े के रूप में दिखाई देता है, तो मैंने setTextFilterEnabled को अपनी सूची दृश्य पर true पर सेट किया है, और अन्य सभी को false पर सेट किया है। यह बिल्कुल मदद नहीं कर रहा था (मैंने सत्यापित किया कि मैं सही टुकड़ों के लिए सही ढंग से ध्वज को टॉगल कर रहा था)।

मुझे संदेह है कि इसे ViewPager के साथ किसी प्रकार का गहरा एकीकरण की आवश्यकता है, लेकिन मैं वास्तव में यह नहीं समझ सकता कि मुझे तार करने की आवश्यकता है। इस काम को मैं कैसे कर सकता हूं इस पर कोई विचार? यदि आवश्यक हो तो मुझे एसीएल कोड के साथ मिलकर खुशी हुई।

+0

इससे मदद मिलेगी यदि आप पहले किए गए कार्यों के प्रासंगिक स्निपेट पोस्ट कर सकते हैं और अब आप क्या कर सकते हैं। –

उत्तर

0

आप onPageSelectedOnPageChangeListener विस्तारित विधि को कार्यान्वित कर सकते हैं। शायद आप पहले से ही ऐसा करते हैं। वहां से आप एडाप्टर को वर्तमान सूची दृश्य में सेट कर सकते हैं या यदि आपका मामला है तो अपने कर्सर एडाप्टर की आवश्यकता है। ध्यान दें कि इस्तेमाल किए गए एडाप्टर को फ़िल्टर करने योग्य इंटरफ़ेस को कार्यान्वित करना होगा।

संबंधित मुद्दे