0

プロトタイプとして、Android Developers Blogのandroid-imagedownloader デモを変更して、ハードコードされた . 以下に置き換えて修正しました。ImageViewsImageAdapter.getView()

public View getView(final int position, View view, final ViewGroup parent) {
   TextView textView = (TextView) view;
    if (textView == null) {
       textView = new TextView(parent.getContext());
       textView.setPadding(6, 6, 6, 6);
    }
    textView.setText(Html.fromHtml("<img src=\"" + URLS[position] + "\"/>", 
       new ImageGetter() {
       @Override public Drawable getDrawable(final String source) {
          ImageView imageView = new ImageView(parent.getContext());
          imageDownloader.download(source, imageView);
          return imageView.getDrawable();
       }
    }, null));

    return textView;
}

ただし、ListView には画像が表示されず、Logcat にはエラーが報告されません。TextViews画像がダウンロードされたら、どうにかしてリフレッシュImageViewsする必要がありますか?

getView()は次のとおりです。

public View getView(int position, View view, ViewGroup parent) {
    if (view == null) {
        view = new ImageView(parent.getContext());
        view.setPadding(6, 6, 6, 6);
    }

    imageDownloader.download(URLS[position], (ImageView) view);

    return view;
}
4

1 に答える 1

0

HTMLTextViewを使用して画像をレンダリングするという当初の考えを放棄します。レイアウトを .xml ごとに 1 つの画像に制限することは問題になるとは思わないからTextViewです。それでも本当にこれをやりたい人にとっては、この答えが正しい解決策につながるはずです。を に渡して、TextView再度BitmapDownloaderTask呼び出しonPostExecuteを行う必要setTextがありますが、新しくダウンロードしたイメージまたは「デキャッシュされた」イメージを使用します。

Romain Guy のガイダンスListViewに従って、行の更新を強制する必要がある場合もあります。

于 2012-07-30T13:34:08.423 に答える