布局混排适配器代码

//继承 Application

package com.example.yuekaolianxi1;

import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;

import android.app.Application;
import android.media.ImageReader;

public class Myapplocation extends Application {
    
    @Override
    public void onCreate() {
        super.onCreate();
        
        
        ImageLoaderConfiguration configuration = new ImageLoaderConfiguration.Builder(
                this).build();
        ImageLoader.getInstance().init(configuration);
    }

}

==============================================================

//适配器

public class MyBaseAdapter extends BaseAdapter {

    Context context;
    private List<Data> list;
    
    public MyBaseAdapter(Context context, List<Data> list) {
        this.context=context;
        this.list=list;
    }
    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return list.size();
    }

    @Override
    public Object getItem(int position) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public long getItemId(int position) {
        // TODO Auto-generated method stub
        return 0;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {        
        Data data = list.get(position);
        //布局类型
        int itemViewType=getItemViewType(position);
        ImageLoader instance= ImageLoader.getInstance();
        ViewHolder1 holder1 = null;
        ViewHolder2 holder2 = null;
        ViewHolder3 holder3 = null;
        ViewHolder4 holder4 = null;
        if(convertView==null){
            switch(itemViewType){
            case 0:
                holder1=new ViewHolder1();
                //加载布局
                convertView=View.inflate(context,R.layout.main_list, null);
                holder1.tv_title = (TextView) convertView
                        .findViewById(R.id.name1);
                holder1.source = (TextView) convertView
                        .findViewById(R.id.source1);
                convertView.setTag(holder1);
                break;
            case 1:

                holder2=new ViewHolder2();
                convertView=View.inflate(context,R.layout.main1_list, null);
                holder2.tv_title = (TextView) convertView
                        .findViewById(R.id.name2);
                holder2.image_view1 = (ImageView) convertView
                        .findViewById(R.id.image_view1);
                holder2.source = (TextView) convertView
                        .findViewById(R.id.source2);
                
                convertView.setTag(holder2);
                break;
            case 2:
                holder3=new ViewHolder3();
                convertView=View.inflate(context,R.layout.main2_list, null);
                holder3.tv_title = (TextView) convertView
                        .findViewById(R.id.name3);
                holder3.image_view2 = (ImageView) convertView
                        .findViewById(R.id.image_view2);
                holder3.source = (TextView) convertView
                        .findViewById(R.id.source3);
                
                convertView.setTag(holder3);
                break;
            case 3:
                holder4=new ViewHolder4();
                convertView=View.inflate(context,R.layout.main3_list, null);
                holder4.tv_title = (TextView) convertView
                        .findViewById(R.id.name4);
                holder4.image1 = (ImageView) convertView
                        .findViewById(R.id.image1);
                holder4.image2 = (ImageView) convertView
                        .findViewById(R.id.image2);
                holder4.image3 = (ImageView) convertView
                        .findViewById(R.id.image3);
                holder4.source = (TextView) convertView
                        .findViewById(R.id.source4);
                
                convertView.setTag(holder4);
                break;
            }
        }else{
            switch (itemViewType) {
            case 0:
            holder1 = (ViewHolder1) convertView.getTag();
            break;
            case 1:
            holder2 = (ViewHolder2) convertView.getTag();
            break;
            case 2:
            holder3 = (ViewHolder3) convertView.getTag();
            break;
            case 3:
            holder4 = (ViewHolder4) convertView.getTag();
            break;
            }
        }
        //设置数据
        switch (itemViewType) {
        case 0:
            holder1.tv_title.setText(data.getTitle());
            holder1.source.setText(data.getSource());
            break;
        case 1:
            
            instance.displayImage(data.getLarge_image_list().get(0).getUrl(), holder2.image_view1);
            holder2.tv_title.setText(data.getTitle());
            holder2.source.setText(data.getSource());
            break;
        case 2:
            
            instance.displayImage(data.getMiddle_image().getUrl(), holder3.image_view2);
            holder3.tv_title.setText(data.getTitle());
            holder3.source.setText(data.getSource());
            break;
        case 3:
            instance.displayImage(data.getImage_list().get(0).getUrl(), holder4.image1);            
            instance.displayImage(data.getImage_list().get(1).getUrl(), holder4.image2);        
            instance.displayImage(data.getImage_list().get(2).getUrl(), holder4.image3);
            holder4.tv_title.setText(data.getTitle());
            holder4.source.setText(data.getSource());
            break;

        
        }
        
        return convertView;
    }
     @Override  
        public int getItemViewType(int position) {
            Data data = list.get(position);
            if(data.getImage_list()!=null&&data.getImage_list().size()==3){
                return  3;
            }else if(data.getLarge_image_list()!=null&&data.getLarge_image_list().size()>0){
                return  1;
            }else if(data.getMiddle_image()!=null){
                return  2;
            }else{        
                return 0;  
            }
          
            }
        
         public int getViewTypeCount() {
             return 4;
             }
    class ViewHolder1 {

        public TextView source;
        public TextView tv_title;
        
    }
    class ViewHolder2 {
        public TextView source;
        public ImageView image_view1;
        TextView tv_title;
        
    }
    class ViewHolder3 {

        public ImageView image_view2;
        public TextView source;
        public TextView tv_title;
        
    }
    class ViewHolder4 {
        public ImageView image3;
        public ImageView image2;
        public ImageView image1;
        public TextView source;
        TextView tv_title;
        
    }


}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值