ListView的多布局中的小问题

今天用到了ListView的多布局,我们需要额外重写两个方法

//返回多布局的个数
    @Override
    public int getViewTypeCount() {
        return 3;
    }
//用该方法去判断应该加载那个布局
    @Override
    public int getItemViewType(int position) {
        Gson gson = new Gson();
        String imageUrl = myNewsData.get(position).getImageurls();
        List<ImageUrl> imageCount = gson.fromJson(imageUrl,new TypeToken<ArrayList<ImageUrl>>(){}.getType());
        /** 0、1、3分别代表
         *  0:没有图片的布局 ; 1:一张图片的布局 ; 3:三张图片的布局
         */
        if (imageCount.size() == 0) {  //没有图片时,List的长度为0
            return TYPE_0;
        } else if (imageCount.size() == 1){
            return TYPE_1;
        }else {
            return TYPE_2;
        }
    }

在第二个方法中,我们的类型顺序一定要是递增的(正确值:0、1、2、3...;错误做法:0、1、3、4、6..),否则会在运行的时候出现闪退的情况,抛出的异常就是数组越界。。。

2015-10-22

原文地址:https://www.cnblogs.com/819158327fan/p/4902524.html