作为原型,我正在尝试修改android-imagedownloader 演示 http://code.google.com/p/android-imagedownloader/来自Android 开发者博客 http://android-developers.blogspot.com/2010/07/multithreading-for-performance.html使用 HTML 图像标签而不是硬编码ImageViews
。我已经通过替换来修改它ImageAdapter.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
unlike ImageViews
下载图像后需要以某种方式刷新吗?
原本的getView()
was:
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;
}