listview多条目布局

关于多条目布局新加两个方法总条目类型总数和返回条目类型

——–listview适配器———

class MyAdapter extends BaseAdapter{

        final int TYTLE_ONLY = 0;//只有文字的形式
        final int IMAGE_LEFT = 1;//表示图片在左边,文字在右边
        final  int IMAGE_RIGHT = 2;//表示图片在右边,文字在左边
        final  int IMAGE_BOTTOM = 3;//表示文字在上边,图片在下面

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

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

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

        @Override
        public int getViewTypeCount() {
            return 4;
        }
        @Override
        public int getItemViewType(int position) {
            if (position%4==0){
                return TYTLE_ONLY;
            }else if (position%4==1){
                return IMAGE_LEFT;
            }else if (position%4==2){
                return IMAGE_RIGHT;
            }else if (position%4==3){
                return IMAGE_BOTTOM;
            }else{
                return IMAGE_BOTTOM;
            }

        }


        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            //首先要根据position得到要显示的类型
            int type=getItemViewType(position);
            switch (type){
                case TYTLE_ONLY:
                    ViewHolder1 vh1;
                    if(convertView==null){
                        convertView=View.inflate(MainActivity.this,R.layout.one,null);

                        vh1 = new ViewHolder1();
                        vh1.little=(TextView) convertView.findViewById(R.id.little);


                        convertView.setTag(vh1);

                    }else{
                        vh1=(ViewHolder1) convertView.getTag();
                    }

                    vh1.little.setText(list.get(position).getTitle());

                    return  convertView;
                case IMAGE_LEFT:
                    ViewHolder2 vh2;

                    if(convertView==null){
                        convertView=View.inflate(MainActivity.this,R.layout.two,null);

                        vh2 = new ViewHolder2();
                        vh2.little=(TextView) convertView.findViewById(R.id.little);
                        vh2.img = (ImageView) convertView.findViewById(R.id.img);

                        convertView.setTag(vh2);

                    }else{
                        vh2=(ViewHolder2) convertView.getTag();
                    }

                    vh2.little.setText(list.get(position).getTitle());
                    //第三步:进行加载显示
                    //第三步:进行加载显示
                    ImageLoader.getInstance().displayImage(list.get(position).getFirstImg(),vh2.img,MyApp.getDefaultDisplayOption());

                    return  convertView;


                case IMAGE_RIGHT:

                    ViewHolder3 vh3;

                    if(convertView==null){
                        convertView=View.inflate(MainActivity.this,R.layout.three,null);

                        vh3 = new ViewHolder3();
                        vh3.little=(TextView) convertView.findViewById(R.id.little);
                        vh3.img = (ImageView) convertView.findViewById(R.id.img);

                        convertView.setTag(vh3);

                    }else{
                        vh3=(ViewHolder3) convertView.getTag();
                    }

                    vh3.little.setText(list.get(position).getTitle());
                    //第三步:进行加载显示
                    //第三步:进行加载显示
                    ImageLoader.getInstance().displayImage(list.get(position).getFirstImg(),vh3.img,MyApp.getDefaultDisplayOption());

                    return  convertView;


                case IMAGE_BOTTOM:

                    ViewHolder4 vh4;

                    if(convertView==null){
                        convertView=View.inflate(MainActivity.this,R.layout.four,null);

                        vh4 = new ViewHolder4();
                        vh4.little=(TextView) convertView.findViewById(R.id.little);
                        vh4.img = (ImageView) convertView.findViewById(R.id.img);

                        convertView.setTag(vh4);

                    }else{
                        vh4=(ViewHolder4) convertView.getTag();
                    }

                    vh4.little.setText(list.get(position).getTitle());
                    //第三步:进行加载显示
                    //第三步:进行加载显示
                    ImageLoader.getInstance().displayImage(list.get(position).getFirstImg(),vh4.img,MyApp.getDefaultDisplayOption());

                    return  convertView;
            }
            return null;
        }

        class ViewHolder1{
            TextView little;
        }

        class ViewHolder2{
            ImageView img;
            TextView little;
        }

        class ViewHolder3{
            ImageView img;
            TextView little;
        }

        class ViewHolder4{
            ImageView img;
            TextView little;
        }
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值