1

私はリストビューを使用してデータを表示しています。リストビュー内では、すべてのリストアイテムで画像を使用しています。

次のメソッドはラッパークラスから呼び出されます

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();

上記のコードは、すべてのlistItemに対して遅延画像のアップロードを実行します。

問題は、最初の画像を読み込んだ後、画像が互いに重なり合っていることです。

4

1 に答える 1

5

ListView行はリサイクルされます。リサイクルされた行を更新している可能性があるため、問題の画像は無効になっています。

私のcwac-thumbnailプロジェクトでは、のタグにURLを入れてから、画像を更新するときにまだそのタグが付いていることImageViewを確認します。ImageViewそうすれば、ImageView今別の画像が必要な場合でも、間違った画像を表示するように変更することはありません。

于 2009-12-15T10:26:43.390 に答える