动态图片ListAdapter的实现

这个博客介绍了一个自定义的ListAdapter,用于在Android中动态加载bdlogo对象的图片和文本。适配器继承自ArrayAdapter,通过LayoutInflater填充视图,并根据数据设置ImageView的图片和TextView的文本。它还根据数据动态调整TextView的高度,并为ListView的每一项应用不同的背景颜色。
摘要由CSDN通过智能技术生成
package com.example.yjyyj.myapplication;

import android.content.Context;
import android.graphics.Color;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AbsListView;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
import java.util.List;

/**
 * Created by yjyyj on 2018/4/8.
 */

public class ListAdapter extends ArrayAdapter<bdlogo> {
    int resource = 0;
    private List<bdlogo> strList;
    public  boolean flag=false;
    public ListAdapter(Context context,int Id,List<bdlogo> objects){
        super(context,Id,objects);
        resource = Id;
        strList = objects;
    }
    @Override
    public View getView(int position,View convertView,ViewGroup parent){
        bdlogo bd = getItem(position);
        View view = LayoutInflater.from(getContext()).inflate(resource,parent,false);
        ImageView image = (ImageView)view.findViewById(R.id.bdimage);
        TextView text = (TextView)view.findViewById(R.id.textid);
        image.setImageBitmap(bd.getimage());
        text.setText(bd.gettext());
        if(bd.getimage()!=null) {
                text.setHeight(bd.gethigh());
        }
        ViewGroup.MarginLayoutParams margin9 = new ViewGroup.MarginLayoutParams(
                image.getLayoutParams());
        LinearLayout.LayoutParams layoutParams9 = new LinearLayout.LayoutParams(margin9);
        layoutParams9.height = bd.gethigh();//设置图片的高度
        layoutParams9.gravity = Gravity.CENTER;
        image.setLayoutParams(layoutParams9);
        if(position%2==0) {
            view.setBackgroundColor(Color.BLUE);
        }else{
            view.setBackgroundColor(Color.YELLOW);
        }
        return view;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值