SDカードからのいくつかの画像を正しく表示しているグリッドビューがありますが、スクロールしているときにのみ画像を何度もロードしているため、スクロールが遅すぎるため、スクロールするたびに画像をロードする理由がわかりません(画面内に表示されていない画像。)
私のコード
// create a new ImageView for each item referenced by the Adapter
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (c.moveToFirst())
{
do
{
if (convertView == null)
{
convertView = mInflater.inflate(R.layout.grid_row_view, null);
holder = new ViewHolder();
holder.ImgThumb = (ImageView) convertView.findViewById(R.id.imgThumb);
holder.Viewcover = (ImageView) convertView.findViewById(R.id.cover);
holder.PdfUrl = (TextView) convertView.findViewById(R.id.hiddenPdfUrl);
convertView.setTag(holder);
}
else
{
holder = (ViewHolder) convertView.getTag();
}
String imagePath = Environment.getExternalStorageDirectory().toString() + "/ICA Faculty/";
holder.ImgThumb.setImageDrawable(Drawable.createFromPath(imagePath + imgUrl.get(position)));
holder.Viewcover.setImageResource(R.drawable.book_cover);
holder.PdfUrl.setText(pdfUrl.get(position));
} while (c.moveToNext());
}
return convertView;
}
private class ViewHolder {
ImageView ImgThumb;
ImageView Viewcover;
TextView PdfUrl;
}