Я пытаюсь установить imageViews моего listView с помощью Asynctask.Установить изображениеПросмотреть корыто AsyncTask в listView
Проблема такая же, как и у других пользователей, когда я быстро прокручиваю экран, изображения не устанавливаются должным образом для контактов, и если я быстро прокручиваю вверх и вниз, когда останавливаю изображение, то изменяется постоянно, пока все тригоны не заканчиваются.
код ниже:
new CargarFotoSegundoPlano(imagenParcela).execute(Integer.parseInt(children.getIdContacto())); //this is the call to asynctask
класс
public class CargarFotoSegundoPlano extends AsyncTask<Object, Void, Bitmap>
{
private final WeakReference<ImageView> imageViewReference;
ImageView imageView;
//String tag;
public CargarFotoSegundoPlano(ImageView imageView)
{
imageViewReference = new WeakReference<>(imageView);
this.imageView = imageView;
//this.tag = imageView.getTag().toString();
}
@Override
protected Bitmap doInBackground(Object... params)
{
//imageView = (ImageView) params[0];
Integer idLong = (Integer) params[0];
return cargarFotoContacto(idLong); //this method return a bitmap
}
@Override
protected void onPostExecute(Bitmap bitmap)
{
if (isCancelled())
{
bitmap = null;
// imageView.setImageBitmap(BitmapFactory.decodeResource(context.getResources(), R.drawable.ic_launcher));
}
if (imageViewReference != null)
{
ImageView imageView = imageViewReference.get();
if (imageView != null)
{
if (bitmap != null)
{
Animation mover = AnimationUtils.loadAnimation(context, R.anim.difuminado_foto_mini);
imageView.startAnimation(mover);
imageView.setImageBitmap(bitmap);
}
else
{
Drawable placeholder = imageView.getContext().getResources().getDrawable(R.drawable.fastcontacts);
imageView.setImageDrawable(placeholder);
}
}
}
else
{
Drawable placeholder = imageView.getContext().getResources().getDrawable(R.drawable.fastcontacts);
imageView.setImageDrawable(placeholder);
}
}
}
Этот набор правильно изображение контактов, имеет фото, но если контакт не имеет фото получить фотографию другого контакт.
Любая помощь будет приветствоваться.
С уважением!
Спасибо за ответ, но если я отправлю запрос здесь, потому что я не хочу использовать библиотеку. Это самый простой способ, и я ничего не узнаю, используя его. Читая ссылки на подобные вещи в Android-разработчиках, мой код пока не до конца. Я думаю, что что-то в методе onPostExecute все будет в порядке. Я продолжу сам. Спасибо в другой раз, теплый привет! – elgonspain