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 に答える