Glide и проблема с GPUImageView
Я пытаюсь реализовать библиотеку фильтров изображений Android под названием GPUImage, расположенную здесь.
Я пытался использовать его, как показано ниже
public static GPUImageView img_bg;
img_bg = (GPUImageView) findViewById(R.id.img_bg);
categoryAdapter1.setOnClickLIstner(new OnClickLIstner() {
@Override
public void onClick(View v, Image image, int pos) {
Glide.with(NameArt.this)
.load(image.getDrawableId())
.centerCrop()
.dontAnimate()
.into(img_bg);
img_bg.setVisibility(View.VISIBLE);
}
});
Но я получаю ошибку, как показано ниже
cannot resolve method 'into' (jp.co.cyberagent.android.gpuimage.GPUImageView)
Я не могу решить это, потому что я изучаю Android и Java еще. Дайте мне знать, если какой-либо эксперт может помочь мне решить проблему. Спасибо
2 ответа
Убедитесь, что вы используете правильную версию Glide, с которой может справиться ваш GPUImageView. В недавнем выпуске 4 внесены изменения API, которые не имеют обратной совместимости, и поскольку используемая вами библиотека выглядит немного ржавой и не устанавливает должным образом зависимости, вы получили конфликт. Принудите v3 Glide или удалите устаревшую библиотеку.
попробуйте это загрузить изображение в ваш GPUImage
new DownloadImage(img_bg).execute(url);
создать асинхронную задачу
public class DownloadImage extends AsyncTask<String, Void, Bitmap> {
GPUImageView bmImage;
public DownloadImage(GPUImageView bmImage) {
this.bmImage = (GPUImageView ) bmImage;
}
protected Bitmap doInBackground(String... urls) {
String urldisplay = urls[0];
Bitmap mIcon11 = null;
try {
InputStream in = new java.net.URL(urldisplay).openStream();
mIcon11 = BitmapFactory.decodeStream(in);
} catch (Exception e) {
Log.d("Error", e.getStackTrace().toString());
}
return mIcon11;
}
protected void onPostExecute(Bitmap result) {
bmImage.setImageBitmap(result);
}
}
я надеюсь, что это будет работать в вашем случае