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
新人学习中,也不太会总结,有做的不对的地方希望各位大神指出,谢谢。