Есть ImageView img, в которое картинка загружается по ссылке при помощи Picasso:
ImageView img = listItemView.findViewById(R.id.img);
Picasso.get().load(Uri.parse(currentNews.getmImg())).into(img);
Сама ссылка парсится с помощью Jsoup.
Проблема в том, что в момент выполнения кода
Bitmap bitmap = ((BitmapDrawable)img.getDrawable()).getBitmap();
картинка не успевает загрузиться, и приложение крашится с логом
java.lang.NullPointerException: Attempt to invoke virtual method 'int android.graphics.Bitmap.getWidth()' on a null object reference
Как можно обойти эту проблему более "лаконично"? Установить задержку выполнения получения Bitmap через Handler.postDelay?
Весь код выполняется в адаптере.
Для таких целей у Picasso есть callback
Picasso.with(this)
.load(url)
.into(img, new Callback() {
@Override
public void onSuccess() {
}
@Override
public void onError() {
}
}
);
Продвижение своими сайтами как стратегия роста и независимости