listView多条目

final int type = 0;
final  int type1 = 1;


lv.setAdapter(new BaseAdapter() {
    @Override
    public int getItemViewType(int position) {
      if (data.get(position).getIMAGEURL()!=null){
          return type;
      }else{
          return type1;
      }
    }

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

    @Override
    public int getCount() {
        return data.size();
    }

    @Override
    public Object getItem(int position) {
        return data.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        viewHolder holder;
        int types = getItemViewType(position);
        if (convertView==null){
            holder=new viewHolder();
            switch (types){
                case type:
                    convertView = View.inflate(getActivity(),R.layout.item,null);
                    holder.ima = (ImageView) convertView.findViewById(R.id.ima);
                    holder.te = (TextView) convertView.findViewById(R.id.te);
                    break;
                case type1:
                    convertView = View.inflate(getActivity(),R.layout.item2,null);
                    holder.te = (TextView) convertView.findViewById(R.id.te_2);
                    break;
            }
            convertView.setTag(holder);
        }else{
            holder = (viewHolder) convertView.getTag();
        }
        switch (types){
            case type:
                ImageLoader.getInstance().displayImage((String)data.get(position).getIMAGEURL(), holder.ima);
                holder.te.setText(data.get(position).getFROMNAME());
                break;
            case type1:
                holder.te.setText(data.get(position).getSUBTITLE());
                break;
        }
        return convertView;
    }
    class viewHolder{
        ImageView ima;
        TextView te;

    }
});

你可能感兴趣的:(listView多条目)