मैं अपने डीबी से चैट हेड्स को पेजिनेट करने के लिए डेटाबेस केवल पेजिनेशन का उपयोग कर रहा हूं। मेरे डीबी . में लगभग 450 प्रविष्टियां हैं

@Query("select * from ChatHeadMaster where archive= :archive order by chatBot desc,lastMessageTimestamp desc")
    fun fetchPagedChatHeadList(archive: Int): DataSource.Factory<Int,ChatHeadWithMessages>

दो समस्याएं हैं जिनका मैं पेजिनेशन के साथ सामना कर रहा हूं

1) यहां तक ​​कि सोचा डेटा स्रोत पेज दर पेज डेटा लाता है लेकिन यह एक ही बार में सभी डेटा प्राप्त करता है। इसलिए यदि मैं अपना पृष्ठ आकार 30 पर सेट करता हूं तो यह डेटा को 30 के टुकड़ों में तब तक लाएगा जब तक कि संपूर्ण डेटा प्राप्त नहीं हो जाता है जिसके कारण मेरा मुख्य धागा तब तक लटका रहता है जब तक कि पूरा डेटा प्राप्त नहीं हो जाता

2) जब भी मेरी तालिका में कोई बदलाव होता है, तो डेटा स्रोत अचानक व्यवहार करता है और यह पहले पृष्ठ को छोड़ देगा और मुझे शेष डेटा वापस कर देगा। तो अगर मेरी तालिका में 75 आइटम हैं और मेरे पृष्ठ का आकार 10 है, तो प्रारंभ में डेटा स्रोत 30 (प्रारंभिक लोड आकार संकेत के कारण) के रूप में चलेगा, 10,10,10,10,5 और तालिका डेटा स्रोत में परिवर्तन पर 55 आइटम वापस आ जाएंगे . जो मुझे नहीं पता ऐसा क्यों हो रहा है

अपडेट करें

मुद्दा मिला। My RecyclerView NestedScrollView के अंदर था जिसके कारण स्थितीय डेटा स्रोत ऑफ़सेट की सही गणना करने में असमर्थ था। अभी के लिए मैंने नेस्टेड स्क्रॉल व्यू हटा दिया है और यह एक आकर्षण की तरह काम करता है

1
Manuj Jagga 27 अगस्त 2019, 06:32

1 उत्तर

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

NestedScrollView के कारण यह समस्या उत्पन्न हुई, जिसके कारण पृष्ठांकित सूची एडेप्टर ऑफ़सेट की सही गणना करने में असमर्थ था

1
Manuj Jagga 20 सितंबर 2019, 13:12