Android Gridview每次滚动时都会刷新其内容

Android Gridview每次滚动时都会刷新其内容,android,gridview,scroll,picasa,Android,Gridview,Scroll,Picasa,我正在建立一个自定义的gridview,并使用毕加索进行图像下载。我听说毕加索将自动缓存。但当我滚动时,图像会刷新。我想我犯了一个错误。请检查我的代码并帮助我找到错误。我已经在下面发布了我的代码 public class MoviesGridAdapter extends BaseAdapter{ private Context context; private ArrayList<Movie> movies; private LayoutInflater inf

我正在建立一个自定义的gridview,并使用毕加索进行图像下载。我听说毕加索将自动缓存。但当我滚动时,图像会刷新。我想我犯了一个错误。请检查我的代码并帮助我找到错误。我已经在下面发布了我的代码

public class MoviesGridAdapter extends BaseAdapter{

   private Context context;
   private ArrayList<Movie> movies;
   private LayoutInflater inflater;
   private View gridView;
   private final String BASE_IMAGE_URL = ""; // unable to expose the link
   private Picasso mPicasso;


   public MoviesGridAdapter(Context context,ArrayList<Movie> movies) {
      this.context = context;
      this.movies = movies;
      mPicasso = Picasso.with(context);
      mPicasso.setIndicatorsEnabled(true);
   }

  @Override
  public int getCount() {
      return movies.size();
  }

  @Override
  public Object getItem(int position) {
      return null;
  }

  @Override
  public long getItemId(int position) {
      return 0;
  }

  @Override
  public View getView(int position, View convertView, ViewGroup parent) {
      gridView = convertView;
      ViewHolder holder;
      // when the view got recycled
      if(gridView == null){
          inflater = (LayoutInflater)        context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
          gridView = new View(context);
          holder = new ViewHolder();
          gridView = inflater.inflate(R.layout.grid_inner_layout,null);
          holder.movieView = (ImageView)   gridView.findViewById(R.id.imageView);
          gridView.setTag(holder);
      } else {
          // if the view still available
          gridView = convertView;
          holder = (ViewHolder) gridView.getTag();
      }

      // loading the image with picasso image loader
      mPicasso.
            .load(BASE_IMAGE_URL + movies.get(position).getPosterUrl())
            .resize(500, 750)
            .error(R.mipmap.ic_launcher)
            .into(holder.movieView);
      return gridView;
  }
  static class ViewHolder{
      ImageView movieView;
  }
}
公共类MoviesGridAdapter扩展了BaseAdapter{
私人语境;
私人电影;
私人充气机;
私有视图;
私有最终字符串BASE_IMAGE_URL=”“//无法公开链接
私人毕加索;
公共MoviesGridAdapter(上下文、ArrayList电影){
this.context=上下文;
这部电影=电影;
mPicasso=毕加索。带有(上下文);
mPicasso.SetIndicatorEnabled(真);
}
@凌驾
public int getCount(){
返回电影。大小();
}
@凌驾
公共对象getItem(int位置){
返回null;
}
@凌驾
公共长getItemId(int位置){
返回0;
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
gridView=convertView;
视窗座;
//当风景被回收利用时
如果(gridView==null){
充气器=(LayoutFlater)context.getSystemService(context.LAYOUT\u充气器\u服务);
gridView=新视图(上下文);
holder=新的ViewHolder();
gridView=充气机。充气(右布局。网格内部布局,空);
holder.movieView=(ImageView)gridView.findViewById(R.id.ImageView);
gridView.setTag(支架);
}否则{
//如果视图仍然可用
gridView=convertView;
holder=(ViewHolder)gridView.getTag();
}
//使用毕加索图像加载器加载图像
卡索。
.load(基本图片URL+电影.get(位置).getPosterUrl())
.调整大小(500750)
.错误(R.mipmap.ic_启动器)
.进入(持有者.电影视图);
返回gridView;
}
静态类视窗夹{
ImageView电影视图;
}
}
gridview xml


gridview项目布局xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="250dp"
        android:id="@+id/imageView"
        android:background="@android:drawable/screen_background_dark_transparent"/>
</LinearLayout>


谢谢

你能发送你的GridView XML代码吗?@pkBhati我添加了XML文件你能发送你的GridView XML代码吗?@pkBhati我添加了XML文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="250dp"
        android:id="@+id/imageView"
        android:background="@android:drawable/screen_background_dark_transparent"/>
</LinearLayout>