1

データを正しくロードしてスムーズな Gridview があります。私が直面している問題は、ユーザーが任意のペースで Gridview をスクロールすると、UI で画像が変化するのを見ることができるということです。画像は最終的に適切な場所に配置されますが、ユーザーにとって美的にはあまり適していません。私は何が間違っているのか、きれいなスクロールを得るために何ができるのか疑問に思っていました. Universal Image Loader と Cursor Loader を使用していることに注意してください。私のアダプターコードは以下に掲載されています。

class VideoAdapter extends CursorAdapter {
Context context; 
private static final String TAG = "Checking Database";
ImageLoaderConfiguration config;
public VideoAdapter(Context context, Cursor c, int flags) {
    super(context, c, flags);
    this.context = context;

    config = new ImageLoaderConfiguration.Builder(context)
    .memoryCache(new LruMemoryCache(2 * 1024 * 1024))
    .imageDownloader(new BaseImageDownloader(context))
    .build();

    DisplayImageOptions defaultOptions =
            new DisplayImageOptions.Builder()
                    .cacheOnDisc()
                    .imageScaleType(ImageScaleType.EXACTLY) 
                    .bitmapConfig(Bitmap.Config.RGB_565)
                    .build();

    ImageLoader.getInstance().init(config);
    Log.i(TAG, "at thconstructore end of the the ");
}

@Override
public void bindView(View view, Context context, Cursor cursor) {
    ViewHolder holder = (ViewHolder) view.getTag();
    int videoid = cursor.getColumnIndex(GridviewData.ROWID);
    int videopath = cursor.getColumnIndex(GridviewData.VIDEOFILEPATH);
    String rowid = cursor.getString(videoid);
    String filepath = cursor.getString(videopath);
            //This background thread downloads/looks for the bitmap and sets it to the  view
    BitmapDownloader bitdl = new BitmapDownloader(rowid, filepath,    holder.imageview);
    bitdl.execute();
}

@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
    LayoutInflater inflater = (LayoutInflater) context
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View eachgrid = inflater.inflate(R.layout.eachgrid, parent, false);
    ViewHolder holder = new ViewHolder();
    holder.imageview = (ImageView) eachgrid
            .findViewById(R.id.Imageview1);
    eachgrid.setTag(holder);
    return eachgrid;        
}

ご協力いただきありがとうございます。

4

0 に答える 0