天天看點

android一個BaseAdapter的使用(LayoutInflater加載自定義布局)

<span style="font-size:14px;">class MyAdapter extends BaseAdapter{

		private LayoutInflater mInflater;//得到一個LayoutInfalter對象用來導入布局 /*構造函數*/ 
		public MyAdapter(Context context) {
		    this.mInflater = LayoutInflater.from(context);
		 }

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

		@Override
		public Object getItem(int position) {
			// TODO Auto-generated method stub
			return null;
		}

		@Override
		public long getItemId(int position) {
			// TODO Auto-generated method stub
			return 0;
		}

		@Override
		public View getView(int position, View convertView, ViewGroup parent) {
			
			  convertView = mInflater.inflate(R.layout.imgitem, null);
			  ImageView imageView = (ImageView) convertView.findViewById(R.id.img);
			  
			  FileInputStream inputStream = null;
			  File file = new File(images.get(position));
			try {
				inputStream = new FileInputStream(file);
			} catch (FileNotFoundException e) {
				e.printStackTrace();
			}
			BitmapFactory.Options options = new BitmapFactory.Options();
			options.inSampleSize = (int) ((file.length()/1024)%50);
			  Bitmap bitmap = BitmapFactory.decodeStream(inputStream, null, options);
			  try {
				inputStream.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
			  imageView.setImageBitmap(bitmap);
			  TextView url_Text = (TextView) convertView.findViewById(R.id.url_Text);
			  url_Text.setText(images.get(position));
			  
			  Button delete = (Button) convertView.findViewById(R.id.delete);
			  delete.setOnClickListener(new listener(position) );
	            
	           return convertView;
		}
		
	}
	
	class listener implements OnClickListener{
		private int position;
		public listener(int position) {
			this.position = position;
		}
		@Override
		public void onClick(View v) {
			images.remove(position);
			 setAdapter(new MyAdapter(UploadActivity.this));
		}
		
	}</span>