मैंने अपने ListView
में आलसी लोडिंग छवियों को लागू किया। मैं इंटरनेट से छवि डाउनलोड करने के लिए AsyncTask
का उपयोग करता हूं और इसे UIThread में ImageView से जोड़ता हूं।एंड्रॉइड पर लिस्ट व्यू में आलसी लोडिंग छवियां
यह काम कर रहा है सिवाय इसके कि जब मैं ListView
स्क्रॉल करता हूं तो तेज़ी से बदलता है, डाउनलोड की गई छवियां कभी-कभी सूची में गलत आइटमों में बाध्य होती हैं।
मुझे लगता है कि समस्या में convertView
के पुन: उपयोग से है। इसे हल करने के लिए कोई विचार?
बहुत धन्यवाद।
संपादित करें: मैं निम्नलिखित के रूप में उत्तर पोस्ट:
public void setBitmap(int position, Bitmap image) {
View itemView = mListView.getChildAt(position - mListView.getFirstVisiblePosition());
if (itemView != null) {
ImageView itemImageView = (ImageView) itemView.findViewById(R.id.item_imageview);
itemImageView.setImageBitmap(image);
}
}
मैं यहाँ उदाहरण की कोशिश की http://android-developers.blogspot.com/2010/07/multithreading-for-performance.html यह काम करता है, लेकिन अभी भी गलत छवि बाध्य करने का मौका मिला। चाल की घटना की तुलना की तुलना की तुलना जेनुज़ के जवाब के समान ही होती है। लेकिन यह ImageView के उदाहरण को पकड़ने के लिए कमजोर संदर्भ का उपयोग करता है। गहरी खोदने की जरूरत है। कोई विचार? – shiami