Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 滚动时Gridview中可见图像更改的问题_Android_Gridview_Android Cursoradapter_Universal Image Loader - Fatal编程技术网

Android 滚动时Gridview中可见图像更改的问题

Android 滚动时Gridview中可见图像更改的问题,android,gridview,android-cursoradapter,universal-image-loader,Android,Gridview,Android Cursoradapter,Universal Image Loader,我有一个Gridview,可以正确地加载数据,并且平滑。我遇到的问题是,当用户以任何速度滚动Gridview时,他们都可以看到UI中图像的变化。这些图像最终会出现在正确的位置,但对用户来说,这并不是很美观。我想知道我做错了什么,我能做些什么来得到一个干净的卷轴。可能需要注意的是,我使用的是通用图像加载器和光标加载器。我的适配器代码发布在下面 class VideoAdapter extends CursorAdapter { Context context; private static fi

我有一个Gridview,可以正确地加载数据,并且平滑。我遇到的问题是,当用户以任何速度滚动Gridview时,他们都可以看到UI中图像的变化。这些图像最终会出现在正确的位置,但对用户来说,这并不是很美观。我想知道我做错了什么,我能做些什么来得到一个干净的卷轴。可能需要注意的是,我使用的是通用图像加载器和光标加载器。我的适配器代码发布在下面

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;        
}
谢谢你的帮助