Кто-нибудь использовал java . lang . IllegalArgumentException : вы должны вызвать этот метод в основном потоке для извлечения изображений из Glide . get ( mContext ); loadUserImage ( userImageUrl ); // ждать 5 секунд, прежде чем повторять попытку int imageLoadingTimeOut = mContext . getResources (). GetInteger ( R . целое число . image_loading_time_out ); if ( imageLoadingTimeOut > 0 ) { новый таймер (). расписание ( новый TimerTask () { @Override public void run () { if (! mUserImageLoaded ) { loadUserImage ( userImageUrl ); } } }, imageLoadingTimeOut ); } } поток? Я продолжаю утверждать:
private boolean mUserImageLoaded = false;
private void loadUserImage(String userImageUrl) {
if (userImageUrl != null && !userImageUrl.isEmpty() && !mUserImageLoaded) {
Glide.with(mContext).using(Cloudinary.getUrlLoader(mContext)).load(userImageUrl).crossFade().listener(new RequestListener<String, GlideDrawable>() {
@Override
public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {
return false;
}
@Override
public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
mImageMessageContent.invalidate();
mUserImageLoaded = true;
return false;
}
}).into(mImageMessageContent);
} else {
mImageMessageContent.setVisibility(View.GONE);
}
}
но согласно этой теме, он должен работать:
https://github.com/bumptech/glide/issues/310
Тем не менее, я не могу заставить его работать, если я не назову его из основного потока.
Вот что я пытаюсь сделать из основного потока:
into(ImageView)
и loadUserImage:
Glide
и mContext - это всего лишь активность этого «указателя».
В любом случае, могу ли я использовать Glide из потока, отличного от основного?
android,multithreading,android-glide,