ListView多条目加载

本文介绍了一种使用Java实现自定义BaseAdapter的方法,通过不同布局类型动态切换展示样式,适用于Android应用中复杂列表视图的数据绑定。
public class Myadapter1 extends BaseAdapter{
    private List<NewUser.DataBean> newUserData;
    private Context context;
    private final int item=0;
    private final int item1=1;


    public Myadapter1(List<NewUser.DataBean> newUserData, Context context) {
        this.newUserData = newUserData;
        this.context = context;
    }

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

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

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

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

    @Override
    public int getItemViewType(int position) {

        return position%getViewTypeCount();
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        int type = getItemViewType(position);
        ViewHolder holder= new ViewHolder();
        if (convertView==null){
            switch (type){
                case item:
                    convertView= View.inflate(context,R.layout.item,null);
                    holder.img= (ImageView) convertView.findViewById(R.id.img);
                    break;
                case item1:
                    convertView=View.inflate(context,R.layout.item1,null);
                    holder.img1= (ImageView) convertView.findViewById(R.id.img1);
                    holder.text_name1= (TextView) convertView.findViewById(R.id.text_name1);
                    break;
            }
            convertView.setTag(holder);
        }else {
            holder= (ViewHolder) convertView.getTag();
            switch (type){
                case item:
                    ImageLoader.getInstance().displayImage(newUserData.get(position).getImage_url(),holder.img);
                    break;
                case item1:
                    ImageLoader.getInstance().displayImage(newUserData.get(position).getImage_url(),holder.img1);
                    holder.text_name1.setText(newUserData.get(position).getTitle());
                    break;
            }


        }
        return convertView;
    }

    private class ViewHolder{
        private ImageView img;
        private ImageView img1;
        private TextView text_name1;

    }


}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值