Android Adapte中getItemViewType越界问题

来源:互联网 发布:华润置地 知乎 面试 编辑:程序博客网 时间:2024/05/25 20:00

listview中提供了getItemViewTypegetViewTypeCount来实现同一个lsitview多种item布局风格。今天在使用的时候遇到了一个奇怪的问题。这样原来的写法

private static final int ItemType_Holder = 999;private static final int ItemType_Ohter = ItemType_Holder + 1;private static final int ItemTypeCount = 2; @Override    public int getItemViewType(int position) {        LogUtils.e("position:" + position);        OrderFundJSON item = (OrderFundJSON) list.get(position);        if (item.getStatus().equals("1")) {            return ItemType_Holder;        } else if (item.getStatus().equals("2")) {            return ItemType_Ohter;        }        return -1;    }    @Override    public int getViewTypeCount() {        return ItemTypeCount;    }

按照上面的写法就会报

java.lang.ArrayIndexOutOfBoundsException: length=2

后面我尝试这改变了一下ItemType_Holder的值,发现了问题原因。原来每个item对应的int标识不能超过cout的。也就是说如果你有两个布局文件,count就是2,每个布局文件对应的int值只能从0,1中间选择,不能超过2,不让就会报错。

0 0
原创粉丝点击