我有一个 android 应用程序,其中有一个网格视图库。在此网格视图中,当用户单击图像时,我将全屏显示图像。它工作得很好。但问题是网格视图在第一次出现在屏幕上时正确显示图像,但是当用户向下滚动以查看更多图像时,顺序会随机变化。这是我下面的适配器代码,您可以查看图片。
public class GridGallery extends BaseAdapter {
Context context;
public GridGallery(Context context) {
this.context = context;
}
@Override
public int getCount() {
return urlList.size();
}
@Override
public Object getItem(int position) {
return position;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
System.gc();
ImageView view;
if(convertView == null) {
view = new ImageView(context);
view.setScaleType(ImageView.ScaleType.FIT_CENTER);
view.setLayoutParams(new GridView.LayoutParams(screenWidth/4, screenHeight/4));
view.setAdjustViewBounds(false);
view.setPadding(2, 2, 2, 2);
imageLoader.DisplayImage(urlList.get(position), view);
System.gc();
}else {
view = (ImageView) convertView;
}
System.gc();
return view;
}
}
在这里我如何设置下面的适配器,
GridView g = (GridView) findViewById(R.id.myGrid);
g.setAdapter(new GridGallery(context));
isGalleryVisible = false;
g.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
myPagerAdapter = new MyPagerAdapter(context);
pager = (ViewPager) findViewById(R.id.gallery_view);
pager.setAdapter(myPagerAdapter);
pager.setCurrentItem(position);
isGalleryVisible = true;
}
});
这是我的屏幕截图,当我滚动它时它会重复。每次我向下滚动并返回顶部时,他们的位置都会随机变化。
任何帮助将不胜感激。提前致谢。