Android 从缓存中读取图片并异步加载的类在新浪微博的微博列表中的图片,为了加速其显示也未了加快程序的响
Android 从缓存中读取图片并异步加载的类
在新浪微博的微博列表中的图片,为了加速其显示也未了加快程序的响应,可以参考该图片异步加载类实现。
?
public?class?WeiBoAdapater?extends?BaseAdapter{
????????private?AsyncImageLoader?asyncImageLoader;
????????@Override
????????public?int?getCount()?{
????????????//?TODO?Auto-generated?method?stub
????????????return?wbList.size();
????????}
????????@Override
????????public?Object?getItem(int?position)?{
????????????//?TODO?Auto-generated?method?stub
????????????return?wbList.get(position);
????????}
????????@Override
????????public?long?getItemId(int?position)?{
????????????//?TODO?Auto-generated?method?stub
????????????return?position;
????????}
????????@Override
????????public?View?getView(int?position,?View?convertView,?ViewGroup?parent)?{
????????????//?TODO?Auto-generated?method?stub
????????????convertView?=?LayoutInflater.from(getApplicationContext()).inflate(R.layout.weibo,?null);
????????????WeiBoHolder?wh?=?new?WeiBoHolder();
????????????wh.wbicon?=?(ImageView)?convertView.findViewById(R.id.wbicon);
????????????wh.wbtext?=?(TextView)?convertView.findViewById(R.id.wbtext);
????????????wh.wbtime?=?(TextView)?convertView.findViewById(R.id.wbtime);
????????????wh.wbuser?=?(TextView)?convertView.findViewById(R.id.wbuser);
????????????wh.wbimage=(ImageView)?convertView.findViewById(R.id.wbimage);
????????????WeiBoInfo?wb?=?wbList.get(position);
????????????if(wb?!=?null)
????????????{
????????????????convertView.setTag(wb.getId());
????????????????wh.wbuser.setText(wb.getUserName());
????????????????wh.wbtime.setText(wb.getTime());
????????????????wh.wbtext.setText(wb.getText(),?TextView.BufferType.SPANNABLE);
????????????????
????????????????Drawable?cachedImage?=?asyncImageLoader.loadDrawable(wb.getUserIcon(),?wh.wbicon,?new?ImageCallback(){
???????????????????public?void?imageLoaded(Drawable?imageDrawable,ImageView?imageView,String?imageUrl){
???????????????????????imageView.setImageDrawable(imageDrawable);
???????????????????}
????????????????});
????????????????if?(cachedImage?==?null)
????????????????{
????????????????????wh.wbicon.setImageResource(R.drawable.usericon);
????????????????}else{
????????????????????wh.wbicon.setImageDrawable(cachedImage);
????????????????}????????????????????
????????????}??????????
????????????
????????????return?convertView;
????????}
????????
????}
?