Ich lade ein Bild von URL und geben Sie es in meine Listview. Das Problem ist, dass die Bildansicht das Bild jedes Mal ändert, wenn ich die Listenansicht scrolle.Android Listview laden Bildansicht von URL
Ich habe diesen Code aus: How to load an ImageView by URL in Android? Bilder von URL zu laden:
public class ImageLoadTask extends AsyncTask<Void, Void, Bitmap> {
private String url;
private ImageView imageView;
public ImageLoadTask(String url, ImageView imageView) {
this.url = url;
this.imageView = imageView;
}
@Override
protected Bitmap doInBackground(Void... params) {
try {
URL urlConnection = new URL(url);
HttpURLConnection connection = (HttpURLConnection) urlConnection
.openConnection();
connection.setDoInput(true);
connection.connect();
InputStream input = connection.getInputStream();
Bitmap myBitmap = BitmapFactory.decodeStream(input);
return myBitmap;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Bitmap result) {
super.onPostExecute(result);
imageView.setImageBitmap(result);
}
}
In meinem ListAdapter ich verwende diesen Code, um das Bild zu laden:
public View getView(int position, View convertView, ViewGroup parent){
ViewHolderItem holder = new ViewHolderItem();
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) main.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.cell, null);
holder.name = (TextView) convertView.findViewById(R.id.name);
holder.thumb = (ImageView) convertView.findViewById(R.id.thumb);
holder.duration = (TextView) convertView.findViewById(R.id.duration);
//holder.code = (TextView) convertView.findViewById(R.id.code);
convertView.setTag(holder);
}
else{
holder = (ViewHolderItem) convertView.getTag();
}
holder.name.setText(this.main.countries.get(position).title);
if (holder.thumb != null) {
new DownloadImageTask(holder.thumb).execute(this.main.countries.get(position).thumb);
}
return convertView;
}
In meiner Haupttätigkeit:
laden Wo kann ich den Variablennamen „Kontext“ bekommen ?? – tokis
@tokis Redigierte meine Antwort. –