android批量加载图片大小,Android批量图片加载系列——afinal实现图片加载

public class MoreStyleNewsListViewAdapter extends BaseAdapter {

private Activity mActivity;

private List newsList;

private FinalBitmap imageLoader;

public MoreStyleNewsListViewAdapter(Activity mActivity,List newsList){

this .mActivity= mActivity;

this .newsList= newsList;

imageLoader = ((SunNewsApplication)mActivity.getApplication()).getFinalBitmap();

}

private final int TYPE_COUNT=2 ;

/**

* 返回数据项的显示类型数据

* 0 1 2

*/

@Override

public int getItemViewType( int position) {

// TODO Auto-generated method stub

return newsList!= null ?newsList.get(position).getStyle():-1 ;

}

/**

* 返回类型个数

*/

@Override

public int getViewTypeCount() {

// TODO Auto-generated method stub

return TYPE_COUNT;

}

@Override

public int getCount() {

// TODO Auto-generated method stub

Log.d("jereh","getCount()" );

return newsList.size();

}

@Override

public Object getItem( int position) {

// TODO Auto-generated method stub

Log.d("jereh","getItem()" );

return newsList.get(position);

}

@Override

public long getItemId( int position) {

// TODO Auto-generated method stub

Log.d("jereh","getItemId()" );

return position;

}

@Override

public View getView( int position, View convertView, ViewGroup parent) {

// TODO Auto-generated method stub

ViewHolder holder= null;

NewsItem item = newsList.get(position);

if (convertView== null){

holder = new ViewHolder();

// 将 layout.xml 转换为 View

switch(item.getStyle()){

case 0 :

convertView =LayoutInflater.from(mActivity).inflate(R.layout.news_item1, null);

holder.ivImg1 = (ImageView)convertView.findViewById(R.id.ivNewsImg);

break;

case 1 :

convertView =LayoutInflater.from(mActivity).inflate(R.layout.news_item2, null);

holder.ivImg1 = (ImageView)convertView.findViewById(R.id.ivImg1);

holder.ivImg2 = (ImageView)convertView.findViewById(R.id.ivImg2);

holder.ivImg3 = (ImageView)convertView.findViewById(R.id.ivImg3);

break;

}

holder.tvTilte = (TextView)convertView.findViewById(R.id.tvTitle);

convertView.setTag(holder);// 记录个标识

} else{

holder = (ViewHolder)convertView.getTag();

}

// 向 ui 元素绑定数据

holder.tvTilte.setText(item.getTitle());

imageLoader.display(holder.ivImg1, item.getImgUrl()[ 0]); // 加载图片,先从缓存中加载,内存没有再从网络加载

switch(item.getStyle()){

case 1 :

imageLoader.display(holder.ivImg2, item.getImgUrl()[ 1]); // 加载图片,先从缓存中加载,内存没有再从网络加载

imageLoader.display(holder.ivImg3, item.getImgUrl()[2]); // 加载图片,先从缓存中加载,内存没有再从网络加载

break;

}

Log.d( "jereh","getView()" );

return convertView;

}

private class ViewHolder{

private TextView tvTilte;

private ImageView ivImg1;

private ImageView ivImg2;

private ImageView ivImg3;

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值