Android 使用BaseAdapter 插入不同类型数据

  在使用过程有时要在listview中插入不同类型的数据,比如说position=0的位置插入,广告,其它列表显示数据的情况。

  一定要重写两种方法

  

@Override
    public int getItemViewType(int position) {
        Object object = bmobIMMessageList.get(position);
        if (object instanceof Integer) {
            return TYPE_BANNER;
        } else {
            return TYPE_DATA;
        }
    }

    @Override
    public int getViewTypeCount() {
        return 2;
    }

否则列表在复用convertview时会出错,无法精准复用,造成控件空指针异常。

Google了一下:

http://stackoverflow.com/questions/5300962/getviewtypecount-and-getitemviewtype-methods-of-arrayadapter 

 

posted @ 2016-07-07 14:15  KaLou02  阅读(982)  评论(0编辑  收藏  举报