Veuillez essayer les étapes suivantes.
1) Créez AsyncTask dans la classe ou l'adaptateur (si vous souhaitez changer l'image de l'élément de la liste).
public class AsyncTaskLoadImage extends AsyncTask {
private final static String TAG = "AsyncTaskLoadImage";
private ImageView imageView;
public AsyncTaskLoadImage(ImageView imageView) {
this.imageView = imageView;
}
@Override
protected Bitmap doInBackground(String... params) {
Bitmap bitmap = null;
try {
URL url = new URL(params[0]);
bitmap = BitmapFactory.decodeStream((InputStream) url.getContent());
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
return bitmap;
}
@Override
protected void onPostExecute(Bitmap bitmap) {
try {
int width, height;
height = bitmap.getHeight();
width = bitmap.getWidth();
Bitmap bmpGrayscale = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(bmpGrayscale);
Paint paint = new Paint();
ColorMatrix cm = new ColorMatrix();
cm.setSaturation(0);
ColorMatrixColorFilter f = new ColorMatrixColorFilter(cm);
paint.setColorFilter(f);
c.drawBitmap(bitmap, 0, 0, paint);
imageView.setImageBitmap(bmpGrayscale);
} catch (Exception e) {
e.printStackTrace();
}
}
}
2) Appelez AsyncTask depuis votre activité, fragment ou adaptateur (à l'intérieur de onBindViewHolder).
2.a) Pour l'adaptateur:
String src = current.getProductImage();
new AsyncTaskLoadImage(holder.icon).execute(src);
2.b) Pour l'activité et le fragment:
**Activité:**
ImageView imagview= (ImageView) findViewById(R.Id.imageview);
String src = (votre chaîne d'image);
new AsyncTaskLoadImage(imagview).execute(src);
**Fragment:**
ImageView imagview= (ImageView)view.findViewById(R.Id.imageview);
String src = (votre chaîne d'image);
new AsyncTaskLoadImage(imagview).execute(src);
3) Veuillez exécuter l'application et vérifier l'image.
Bon codage.... :)
1 votes
Quel message de crash obtenez-vous? Quelle est la trace de la pile? Savez-vous quelle ligne provoque le crash?
0 votes
La méthode createScalesBitmap lance une NullPointerException car bit est nul.
1 votes
Nécessaire l'autorisation Internet... Ajouté à androidmanifest.xml