我已经搜索并找不到与此问题有关的任何信息,即将图像加载到每个选项卡式页面视图内的多个网格视图中。性能很好,但是任何包含大量图像并且需要滚动加载的图像的网格视图都是不正确的,它会复制图像并将图像加载到错误的位置。以下是im用于网格视图的适配器之一:

 public class PcAdapter extends BaseAdapter {
    private Context context;

    private Integer[] imageIds = {
            R.drawable.pcserioussam, R.drawable.pc_trinetwo,
            R.drawable.pc_leftfordead, R.drawable.pc_dungeondefenders,
            R.drawable.pc_portaltwo, R.drawable.pc_spaz,
            R.drawable.pc_laracroftattoo, R.drawable.pc_goatsim,
            R.drawable.pc_deadblock, R.drawable.pc_dynasty,
            R.drawable.pc_minecraft, R.drawable.pc_kanelynch,
            R.drawable.pc_toy, R.drawable.pc_awesomenauts,
            R.drawable.pc_bioniccomm, R.drawable.pc_fastandfurious,
            R.drawable.gen_harryone, R.drawable.gen_harrytwo,
            R.drawable.gen_watchmen
    };

    public PcAdapter(Context c) {
        context = c;
    }

    public int getCount() {
        return imageIds.length;
    }

    public Object getItem(int position) {
        return imageIds[position];
    }

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

    public View getView(int position, View view, ViewGroup parent) {
        ImageView iview;

        if(view == null){
            iview = new ImageView(context);
            Picasso.with(context).load(imageIds[position]).
                                  placeholder(R.drawable.placeholder).
                                  resize(230, 300).centerInside().into(iview);
        } else {
            iview = (ImageView) view;
        }
        return iview;
    }
}


任何帮助,将不胜感激

最佳答案

将您的毕加索代码移出if语句。当前,如果view为null,它将仅加载新图像?将其放在return语句之前的if语句的底部。

08-18 10:31
查看更多