0

我在 GridView 中使用 Droidfu 的小部件 WebImageView 来创建画廊。图像正在与 WebImageView 异步下载并缓存。

问题是当网格滚动到它时 id 并不总是显示图像(它显示默认错误 img )。就像 getView 正在破坏它并且每次都无法正确回收它。

这是我的 GridAdapter

公共类 GalleryAdapter 扩展 BaseAdapter {

    private Context mContext;

    public GalleryAdapter(Context c) {
        // TODO Auto-generated constructor stub
        mContext = c;
    }

    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return theList.getItemCount();
    }

    @Override
    public Object getItem(int arg0) {
        // TODO Auto-generated method stub
        return theList.getItem(arg0);
    }

    @Override
    public long getItemId(int arg0) {
        // TODO Auto-generated method stub
        return arg0;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        // TODO Auto-generated method stub

        final GalleryItem galeryItem = theList.getItem(position);

        if (convertView == null) {
            convertView = (View) getLayoutInflater().inflate(R.layout.gallery_item, parent, false);

        }

        WebImageView imageView = (WebImageView) convertView.findViewById(R.id.webimage);

        if (!galeryItem.getMain_image().trim().equalsIgnoreCase("")) {  

            imageView.setScaleType(ScaleType.CENTER_CROP);
            imageView.setAdjustBounds(true);
            imageView.reset();
            imageView.setImageUrl(galeryItem.getMain_image().trim());
            imageView.setNoImageDrawable(R.drawable.heading_img_bg);
            imageView.loadImage();
        }

        TextView heading = (TextView) convertView.findViewById(R.id.gallery_heading);
        heading.setText(galeryItem.getHeading());

        TextView img_num = (TextView) convertView.findViewById(R.id.gallery_img_num);
        img_num.setText(Integer.toString(galeryItem.getImage_num()));   

        return convertView;
    }

}
4

1 回答 1

0

据此,Droid-Fu开发将停止,并将被“重新命名”为Ignition

Ignition 有一个类似的类,叫做 RemoteImageView。用法基本相同,但似乎他们对后端进行了一些修改。我尝试了一个 ListView ,它给了永远加载的问题。为我工作(尽管它引入了一些其他问题)。

你可以试一试,看看你的问题是否得到解决。

于 2011-12-27T17:39:13.400 回答