Android listvitem перекрытия изображений AsyncTask - PullRequest
1 голос
/ 15 декабря 2009

Я использую список для отображения данных, внутри списка я использую изображение в каждом списке.

следующий метод вызывается из класса-оболочки

public View getView(int position, View convertView,
    ViewGroup parent) { // implementation }

Я следую этому уроку http://developer.android.com/guide/samples/ApiDemos/src/com/example/android/apis/view/List4.html

class DownloadImage extends AsyncTask<Void, Void, Drawable>{
        @Override
        protected Drawable doInBackground(Void... params) {
            return Util.getImageFromURL(imageURL); 
        }

        @Override
        protected void onPostExecute( Drawable d ) {
            getImageIcon().setImageDrawable(d);
        }

}
new DownloadImage().execute();

Приведенный выше код выполняет отложенную загрузку изображений для каждого элемента list.

Проблема в том, что после загрузки первого изображения изображения накладываются друг на друга ... Есть идеи, почему это происходит?

1 Ответ

5 голосов
/ 15 декабря 2009

ListView строк перерабатываются. Вы, вероятно, обновляете строку, которая была переработана, поэтому рассматриваемое изображение больше не является действительным.

В моем проекте cwac-thumbnail я помещаю URL-адрес в тег ImageView и затем подтверждаю, что у ImageView все еще есть этот тег, когда я иду обновить изображение. Таким образом, если ImageView теперь нужно другое изображение, я не изменяю его, чтобы показать неправильное изображение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...