मूल रूप से शीर्षक क्या कहता है। जब कोई उपयोगकर्ता किसी RecyclerView आइटम पर क्लिक करता है, तो मैं एक ViewPager गतिविधि शुरू करने का प्रयास कर रहा हूं। मुझे यहां कोई समस्या नहीं है, यह ठीक काम करता है। लक्ष्य एक ग्रिड आधारित गैलरी से व्यूपेजर गैलरी में जाना है। मैं नेटवर्क पर लोड किए गए डेटा की सूची<> भेजने की भी कोशिश कर रहा हूं। यहां मुझे बहुत परेशानी हो रही है। डेटा एक सिंगलटन के माध्यम से भेजा जाता है क्योंकि यह इरादे के माध्यम से भेजने के लिए बहुत बड़ा है और यदि ऐप स्टार्टअप पर बहुत जल्दी नई गतिविधि में खोला जाता है, तो मूल गतिविधि में अधिक डेटा लोड किया जाता है (भले ही कॉल रद्द कर दिया गया हो, रेट्रोफिट 2 बीटीडब्ल्यू का उपयोग करके) और मुझे चाहिए एडेप्टर को सूचित करने के लिए, जो मेरे पास एक श्रोता है जो करता है।

एक और दुर्घटना जो आम है, वह है व्यूपेजर गतिविधि में किसी आइटम को पढ़ते समय एक शून्य सूचक, जो मुझे समझ में नहीं आता है क्योंकि आइटम भेजने से पहले मूल गतिविधि में शून्य नहीं है, लेकिन अगर मैं कुछ सेकंड प्रतीक्षा करता हूं तो यह शून्य नहीं है। मेरी समस्या से संबंधित कुछ कोड यहां पाए जा सकते हैं, एक प्रश्न I एक समाधान के साथ कल पूछा जिसे मैं सफलतापूर्वक लागू नहीं कर सका।

कृपया मुझे RecyclerView से उसी डेटासेट का ViewPager प्रारंभ करने के लिए सही दिशा में इंगित करें, धन्यवाद

1
rycirese 28 अप्रैल 2017, 04:42

1 उत्तर

सबसे बढ़िया उत्तर

जब आप व्यू पेजर गतिविधि के लिए फ़ीड डेटा "भेज" रहे हों, तो सूची को सीधे संदर्भित करने के बजाय उसकी एक उथली प्रतिलिपि का उपयोग करें जैसा कि नीचे दिखाया गया है

DataTransferer.get().storeItems(new ArrayList(feed));

इससे आपकी RecyclerView गतिविधि पर फ़ीड द्वारा उठाए गए IllegalStateException को अपडेट होने से रोका जा सकेगा।

1
Much Overflow 28 अप्रैल 2017, 06:38