gt: 				holder = (ViewHolder) view.getTag();
context: package com.Martin.MapCalibrator;
  
  import java.util.Collections;
  import java.util.LinkedList;
  import java.util.List;
  
  import org.apache.http.client.params.HttpClientParams;
  import org.apache.http.conn.ClientConnectionManager;
  import org.apache.http.conn.scheme.PlainSocketFactory;
  import org.apache.http.conn.scheme.Scheme;
  import org.apache.http.conn.scheme.SchemeRegistry;
  import org.apache.http.conn.ssl.SSLSocketFactory;
  import org.apache.http.impl.client.DefaultHttpClient;
  import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager;
  import org.apache.http.params.BasicHttpParams;
  import org.apache.http.params.HttpConnectionParams;
  import org.apache.http.params.HttpParams;
  import org.apache.http.params.HttpProtocolParams;
  
  import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;
  import com.nostra13.universalimageloader.core.DisplayImageOptions;
  import com.nostra13.universalimageloader.core.ImageLoader;
  import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
  import com.nostra13.universalimageloader.core.assist.QueueProcessingType;
  import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer;
  import com.nostra13.universalimageloader.core.download.HttpClientImageDownloader;
  import com.nostra13.universalimageloader.core.listener.ImageLoadingListener;
  import com.nostra13.universalimageloader.core.listener.SimpleImageLoadingListener;
  
  import android.app.ActionBar;
  import android.app.Activity;
  import android.content.Context;
  import android.content.Intent;
  import android.content.res.Resources;
  import android.graphics.Bitmap;
  import android.graphics.Color;
  import android.graphics.drawable.ColorDrawable;
  import android.os.Bundle;
  import android.view.MotionEvent;
  import android.view.View;
  import android.view.ViewGroup;
  import android.widget.AdapterView;
  import android.widget.ArrayAdapter;
  import android.widget.BaseAdapter;
  import android.widget.ImageView;
  import android.widget.ListView;
  import android.widget.Spinner;
  import android.widget.TextView;
  import android.widget.AdapterView.OnItemClickListener;
  
  public class Home extends Activity {
  
  	private ActionBar actionBar;
  	private Spinner spinner1;
  	private Spinner spinner2;
  
  	private ListView listview;
  	protected ImageLoader imageLoader;
  	String[] imageUrls;
  	DisplayImageOptions options;
  
  	@Override
  	protected void onCreate(Bundle savedInstanceState) {
  		super.onCreate(savedInstanceState);
  		setContentView(R.layout.home_activity);
  
  		initSpinners();
  		initlist();
  
  		actionBar = getActionBar();
  		actionBar.setBackgroundDrawable(new ColorDrawable(Color
  				.rgb(0, 193, 164)));
  		int titleId = Resources.getSystem().getIdentifier("action_bar_title",
  				"id", "android");
  		TextView yourTextView = (TextView) findViewById(titleId);
  		yourTextView.setTextColor(Color.WHITE);
  	}
  
  	private void initSpinners() {
  		spinner1 = (Spinner) findViewById(R.id.spinner1);
  		spinner2 = (Spinner) findViewById(R.id.spinner2);
  		// Create an ArrayAdapter using the string array and a default spinner
  		// layout
  		ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
  				this, R.array.planets_array,
  				android.R.layout.simple_spinner_item);
  		// Specify the layout to use when the list of choices appears
  		adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  		// Apply the adapter to the spinner
  		spinner1.setAdapter(adapter);
  
  		// Create an ArrayAdapter using the string array and a default spinner
  		// layout
  		ArrayAdapter<CharSequence> adapter2 = ArrayAdapter.createFromResource(
  				this, R.array.planets_array,
  				android.R.layout.simple_spinner_item);
  		// Specify the layout to use when the list of choices appears
  		adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  		// Apply the adapter to the spinner
  		spinner2.setAdapter(adapter2);
  	}
  
  	public static void initImageLoader(Context context) {
  		// This configuration tuning is custom. You can tune every option, you
  		// may tune some of them,
  		// or you can create default configuration by
  		// ImageLoaderConfiguration.createDefault(this);
  		// method.
  
  		HttpParams params = new BasicHttpParams();
  		// Turn off stale checking. Our connections break all the time anyway,
  		// and it's not worth it to pay the penalty of checking every time.
  		HttpConnectionParams.setStaleCheckingEnabled(params, false);
  		// Default connection and socket timeout of 10 seconds. Tweak to taste.
  		HttpConnectionParams.setConnectionTimeout(params, 10 * 1000);
  		HttpConnectionParams.setSoTimeout(params, 10 * 1000);
  		HttpConnectionParams.setSocketBufferSize(params, 8192);
  
  		// Don't handle redirects -- return them to the caller. Our code
  		// often wants to re-POST after a redirect, which we must do ourselves.
  		HttpClientParams.setRedirecting(params, false);
  		// Set the specified user agent and register standard protocols.
  		HttpProtocolParams.setUserAgent(params, "some_randome_user_agent");
  		SchemeRegistry schemeRegistry = new SchemeRegistry();
  		schemeRegistry.register(new Scheme("http", PlainSocketFactory
  				.getSocketFactory(), 80));
  		schemeRegistry.register(new Scheme("https", SSLSocketFactory
  				.getSocketFactory(), 443));
  
  		ClientConnectionManager manager = new ThreadSafeClientConnManager(
  				params, schemeRegistry);
  
  		ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
  				context)
  				.threadPriority(Thread.NORM_PRIORITY - 2)
  				.denyCacheImageMultipleSizesInMemory()
  				.discCacheFileNameGenerator(new Md5FileNameGenerator())
  				.tasksProcessingOrder(QueueProcessingType.LIFO)
  				.writeDebugLogs()
  				// Remove for release app
  				.imageDownloader(
  						new HttpClientImageDownloader(context,
  								new DefaultHttpClient(manager, params)))
  				.build();
  		// Initialize ImageLoader with configuration.
  		ImageLoader.getInstance().init(config);
  	}
  
  	private void initlist() {
  		imageUrls = new String[30];
  		imageUrls[0] = "https://lh6.googleusercontent.com/-55osAWw3x0Q/URquUtcFr5I/AAAAAAAAAbs/rWlj1RUKrYI/s1024/A%252520Photographer.jpg";
  		imageUrls[1] = "https://lh4.googleusercontent.com/--dq8niRp7W4/URquVgmXvgI/AAAAAAAAAbs/-gnuLQfNnBA/s1024/A%252520Song%252520of%252520Ice%252520and%252520Fire.jpg";
  		imageUrls[2] = "https://lh5.googleusercontent.com/-7qZeDtRKFKc/URquWZT1gOI/AAAAAAAAAbs/hqWgteyNXsg/s1024/Another%252520Rockaway%252520Sunset.jpg";
  		imageUrls[3] = "https://lh3.googleusercontent.com/--L0Km39l5J8/URquXHGcdNI/AAAAAAAAAbs/3ZrSJNrSomQ/s1024/Antelope%252520Butte.jpg";
  
  		initImageLoader(getApplicationContext());
  		// btn_take_photo = (Button) this.findViewById(R.id.btn_take_photo);
  		// btn_pick_photo = (Button) this.findViewById(R.id.btn_pick_photo);
  		// btn_cancel = (Button) this.findViewById(R.id.btn_cancel);
  		imageLoader = ImageLoader.getInstance();
  
  		options = new DisplayImageOptions.Builder()
  				.showImageOnLoading(R.drawable.ic_stub)
  				.showImageForEmptyUri(R.drawable.ic_empty)
  				.showImageOnFail(R.drawable.ic_error).cacheInMemory(true)
  				.cacheOnDisc(true).considerExifParams(true).build();
  		listview = (ListView) findViewById(R.id.institutionlist);
  		listview.setAdapter(new ItemAdapter());
  		listview.setOnItemClickListener(new OnItemClickListener() {
  			@Override
  			public void onItemClick(AdapterView<?> parent, View view,
  					int position, long id) {
  				System.out.println("selected position: " + position);
  				Intent i = new Intent(getApplicationContext(),
  						MainActivity.class);
  				startActivity(i);
  			}
  		});
  	}
  
  	class ItemAdapter extends BaseAdapter {
  
  		private ImageLoadingListener animateFirstListener = new AnimateFirstDisplayListener();
  
  		private class ViewHolder {
  			public TextView text;
  			public ImageView image;
  		}
  
  		@Override
  		public int getCount() {
  			return imageUrls.length;
  		}
  
  		@Override
  		public Object getItem(int position) {
  			return position;
  		}
  
  		@Override
  		public long getItemId(int position) {
  			return position;
  		}
  
  		@Override
  		public View getView(final int position, View convertView,
  				ViewGroup parent) {
  			View view = convertView;
  			final ViewHolder holder;
  			if (convertView == null) {
  				view = getLayoutInflater().inflate(
  						R.layout.institution_list_item, parent, false);
  				holder = new ViewHolder();
  				holder.text = (TextView) view.findViewById(R.id.title);
  				holder.image = (ImageView) view.findViewById(R.id.image);
  				view.setTag(holder);
  			} else {
  