Загрузка URL-адреса изображения в элемент ListView с использованием подкачки в AndroidAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Загрузка URL-адреса изображения в элемент ListView с использованием подкачки в Android

Сообщение Anonymous »

Я пытаюсь создать lisView с двумя textView и imageView (которые представляют собой URL-адрес) для каждого элемента списка, но список прокручивается не так хорошо, как мне хотелось бы, потому что на это уходит слишком много времени. загрузить URL-адрес изображения.
Я использую класс AsyncTask для загрузки изображения, но все равно оно выглядит не так хорошо.
Вот мой код в классе ArrayAdapter:

Код: Выделить всё

public class MySimpleArrayAdapter extends ArrayAdapter {

final private Context context;
final private Movie[] movies;
ImageView movieIcon;
TextView name, description;
Bitmap bitmap;

public MySimpleArrayAdapter(Context context, Movie[] movies) {
super(context,R.layout.item_in_movielist, movies);
this.context = context;
this.movies = movies;
}

@Override
public View getView(final int position, View convertView, ViewGroup parent) {

LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View rowView = inflater.inflate(R.layout.item_in_movielist, parent, false);

name = (TextView) rowView.findViewById(R.id.tvMovieName);
description = (TextView) rowView.findViewById(R.id.tvMovieDescription);
movieIcon = (ImageView) rowView.findViewById(R.id.ivMovieIcon);

GetImageAsync getImageAsync = new GetImageAsync();
getImageAsync.imageView = movieIcon;

name.setText(movies[position].getMovieName());
description.setText(movies[position].getMovieDescription());

getImageAsync.execute(position);

return rowView;
}

public class GetImageAsync extends AsyncTask {
public ImageView imageView;
@Override
protected void onPostExecute(Bitmap bitmap1) {
imageView.setImageBitmap(bitmap1);
}

@Override
protected Bitmap doInBackground(Integer... params) {
URL url = null;
try {
url = new URL(movies[params[0]].getMovieImgURL());
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoInput(true);
connection.connect();
InputStream input = connection.getInputStream();
return BitmapFactory.decodeStream(input);

} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
}
Я понял, что это не способ сделать это, я хочу изменить свой код на «Пейджинг» и хочу сделать это правильно.
Посоветуйте, что я могу сделать?

Подробнее здесь: https://stackoverflow.com/questions/275 ... in-android
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»