2017-01-05 5 views
10

मैंने हाल ही में समर्थन लाइब्रेरी रीसाइक्लर्विव-v7: 23.1.1 से रीसाइक्लर्विव-v7: 25.1.0 को अद्यतन किया।रीसाइक्लर्विव ऑनबिंडव्यूहोल्डर ने सभी वस्तुओं के लिए बुलाया जब वजन के साथ लाइनरलाइट के अंदर

मेरे लेआउट में स्क्रीन पर 50% विभाजित 2 recylerviews शामिल हैं।

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="horizontal"> 

    <android.support.v7.widget.RecyclerView 
     android:id="@+id/recyclerView1" 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:scrollbars="none"/> 

    <android.support.v4.widget.Space 
     android:layout_width="@dimen/two_dp" 
     android:layout_height="match_parent" 
     android:background="@color/dark_gray"/> 

    <android.support.v7.widget.RecyclerView 
     android:id="@+id/recyclerView2" 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:scrollbars="none"/> 

</LinearLayout> 

अब onBindViewHolder ही दिखाई मदों की बजाय सभी सूची आइटम के लिए कहा जाता है: एक्सएमएल कोड इस प्रकार है। लाइब्रेरी 25.1.0 का समर्थन करने के लिए अद्यतन के बाद यह होना शुरू हो गया।

अगर वजन हटा दिया जाता है तो यह ठीक काम कर रहा है, लेकिन पक्ष के साथ 2 recylcerviews की आवश्यकता है।

मैं रीसाइक्लिंगव्यू को सभी को लोड करने के बजाय रीसायकल दृश्यों को कैसे कहूं?

अद्यतन: यह मार्शमलो और उपरोक्त उपकरणों पर ठीक काम करता है। यह मुद्दा लॉलीपॉप या नीचे में मौजूद है। आप यहाँ एक डेमो परियोजना पा सकते हैं:https://bitbucket.org/aniketit/recyclerviewtest

+1

प्रासंगिक ऑनबैंडव्यूहोल्डर कोड –

+0

@BradleyWilson onBindViewHolder को इसके अंदर कोड के बावजूद बुलाया जाता है। मैंने BindViewHolder फ़ंक्शन पर एक खाली के साथ प्रयास किया। –

+0

ठीक है, यह अजीब है। मैं वास्तव में आपके रीसाइक्लिंग व्यूज़ में एक्सएमएल के साथ बहुत मदद नहीं कर सकता, क्या आप किसी भी कोड को पोस्ट कर सकते हैं जो आपको लगता है या समस्या हो सकती है (आइटम पंक्ति लेआउट इत्यादि) –

उत्तर

4

मैं एक ही मुद्दा है जो भारित और 0dp तत्वों हटाने के बाद कायम हुई। मेरे मामले में, मुद्दा बल्कि मामूली था - मैंने अनजाने में अपने RecyclerView को NestVSSrollView के अंदर fillViewPort = true के साथ रखा था। इससे एडाप्टर दृश्य के लिए सभी तत्वों का निर्माण करेगा और आपको प्रतिक्रिया में महत्वपूर्ण देरी दिखाई देगी।

समस्या तब सामने आती है जब आपके पास अभी भी एक पुराने पुरानी स्क्रॉलव्यू में रीसाइक्लर व्यू हो।

2

मुझे एक ही समस्या थी। रीसाइक्लिंग व्यू मार्शमलो में अच्छी तरह रीसाइक्लिंग कर रहा था लेकिन पहले नहीं।

मेरी गलती मेरे RecyclerView को स्क्रॉलव्यू में रखना था। आपको यह जांचना चाहिए कि क्या आपके पास स्क्रॉलव्यू है, यदि हां, तो इसे हटा दें और आपकी समस्या पूर्व मार्शमलो डिवाइसों के लिए हल हो जाएगी।

1
पुस्तकालयों के साथ

>23.1.1 से आप निकाल सकते हैं

एंड्रॉयड: layout_width = "0dp"

इसे हटाने और सभी पूरी तरह से काम करता है।

+1

इसने मेरे लिए समस्या हल की!मैंने 0 डीपी के बजाय अपने दोनों भारित लेआउट के लिए layout_width = "match_parent" सेट किया है और यह ठीक से काम करता है। –

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