मुझे यह समस्या है - केवल परीक्षण उद्देश्यों के लिए मैंने ParseFile
को ParseObject
में से एक प्राप्त सूची से जोड़ा। इसे केवल उस पंक्ति में दिखाने के बजाय यह हर 4-5 पंक्तियों को दिखाता है, कभी-कभी अधिक, कभी-कभी कम। मुझे उम्मीद है कि रीसाइक्लिंग दृश्य के साथ कुछ करने के लिए है। आश्चर्यजनक रूप से, अन्य डेटा (इस उदाहरण से हटाया गया) position
चर के साथ ठीक काम करता है।पुनर्नवीनीकरण एडाप्टर और ग्लाइड - एक ही छवि प्रत्येक 4-5 पंक्तियां
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
if(parseList.get(position).get("logo") != null){
ParseFile image = (ParseFile) parseList.get(position).get("logo");
String url = image.getUrl();
Glide.with(context)
.load(url)
.placeholder(R.drawable.piwo_48)
.transform(new CircleTransform(context))
.into(holder.imageView);
}
}
क्या आप उस पर और विस्तार कर सकते हैं? पिछले जवाब ठीक काम कर रहे हैं, लेकिन मुझे लगता है कि 'स्पष्ट()' विधि पतली हवा से लागू नहीं की गई थी। –
वे ज्यादातर काम कर रहे हैं। यदि आप BindViewHolder पर कॉल करते हैं और किसी दिए गए दृश्य के लिए लोगो के साथ स्थिति के लिए लोड शुरू करते हैं, तो लोड समाप्त होने से पहले एक ही व्यूहोल्डर के साथ फिर से बाइंडव्यूहोल्डर को कॉल करें, आपको रिक्त दृश्य की बजाय पुरानी छवि दिखाई देगी। यह दौड़ की स्थिति आपकी पिछली त्रुटि की तुलना में बहुत कम आम है, लेकिन फिर भी संभव है। –
मुझे यह भी स्पष्ट करना चाहिए कि मैंने पुस्तकालय और स्पष्ट() विधि लिखा है। यहां उपयोग का मामला एक महान उदाहरण है कि क्यों स्पष्ट() विधि मौजूद है :)। आपको हमेशा एक नया लोड शुरू करना होगा (जो आपके लिए पुराना भार रद्द करता है) या जब आप दृश्यों का दोबारा उपयोग कर रहे हों तो लोड को रद्द कर दें। –