PhotoAdapter.java
上传用户:vip_99
上传日期:2021-03-27
资源大小:61159k
文件大小:2k
源码类别:

android开发

开发平台:

Java

  1. package irdc.ex09_08;
  2. /* import相关class */
  3. import java.net.URL;
  4. import java.net.URLConnection;
  5. import java.util.List;
  6. import android.content.Context;
  7. import android.graphics.Bitmap;
  8. import android.graphics.BitmapFactory;
  9. import android.view.LayoutInflater;
  10. import android.view.View;
  11. import android.view.ViewGroup;
  12. import android.widget.BaseAdapter;
  13. import android.widget.ImageView;
  14. /* 自定义的Adapter,继承android.widget.BaseAdapter */
  15. public class PhotoAdapter extends BaseAdapter
  16. {
  17.   private LayoutInflater mInflater;
  18.   private List<String> items;
  19.   public PhotoAdapter(Context context,List<String> it)
  20.   {
  21.     mInflater = LayoutInflater.from(context);
  22.     items = it;
  23.   }
  24.   
  25.   /* 因继承BaseAdapter,需覆盖以下method */
  26.   @Override
  27.   public int getCount()
  28.   {
  29.     return items.size();
  30.   }
  31.   @Override
  32.   public Object getItem(int position)
  33.   {
  34.     return items.get(position);
  35.   }
  36.   
  37.   @Override
  38.   public long getItemId(int position)
  39.   {
  40.     return position;
  41.   }
  42.   
  43.   @Override
  44.   public View getView(int position,View conView,ViewGroup par)
  45.   {
  46.     ViewHolder holder;
  47.     
  48.     if(conView == null)
  49.     {
  50.       /* 使用自定义的gallery作为Layout */
  51.       conView = mInflater.inflate(R.layout.gallery, null);
  52.       /* 初始化holder的text与icon */
  53.       holder = new ViewHolder();
  54.       holder.image = (ImageView)conView.findViewById(R.id.myImage);
  55.       conView.setTag(holder);
  56.     }
  57.     else
  58.     {
  59.       holder = (ViewHolder) conView.getTag();
  60.     }
  61.     /* 设置显示的相片 */
  62.     URL url;
  63.     try
  64.     {
  65.       url = new URL(items.get(position).toString());
  66.       URLConnection conn = url.openConnection(); 
  67.       conn.connect(); 
  68.       Bitmap bm=BitmapFactory.decodeStream(conn.getInputStream());
  69.       holder.image.setImageBitmap(bm);
  70.     }
  71.     catch (Exception e)
  72.     {
  73.       e.printStackTrace();
  74.     }
  75.     
  76.     return conView;
  77.   }
  78.   
  79.   private class ViewHolder
  80.   {
  81.     ImageView image;
  82.   }
  83. }