Вопрос: Как из ListView вызывать соответствующие элементу списка описание в AlertDialog?

Лучший ответ:
Примерно это будет выглядеть так:
ListView (который заменит TextView) отображает данные из переданной ему коллекции или списка элементов. Следовательно, вам надо будет создать класс для элементов, наподобие:class CocktailItem{
		String title;
		String description;
		Bitmap icon;
}
Создаете коллекцию коктейлей с использование этого класса, создаете Adapter с этой коллекцией, передаете его (адаптер) в ListView, делаете ему (ListView) setOnItemClickListener, и в этот OnItemClickListener при нажатии будет приходить номер элемента в списке коктейлей. Этот элемент можно там же и получить, примерно так:AdapterView.OnItemClickListener() {
		@Override
		public
		void onItemClick(final AdapterView<?> parent, final View view, final int position, final long id) {
			CocktailItem item = (CocktailItem) parent.getAdapter().getItem(position);
			AlertDialog.Builder builder = new AlertDialog.Builder(ShotDrinks.this);

			builder.setTitle(item.title)
					.setMessage(item.description)
					.setCancelable(true)
					.setIcon(R.drawable.ic_launcher)
					...
		}
	};
В общем, если вы размебетесь, как работает ListView и Adapter, все вопросы отпадут сами собой.

Худший ответ:
public class ShotDrinks extends ActionBarActivity {
    String title[] = new String[]{"Б-52","Зеленый мексиканец","Оборотень","Аут","БМВ"};
    String description[] = new String[]{"Бейлис, калуа, трипл сек","Текила, лимонный сок, пизан","лалалалал","Виски, коньяк, водка, самбука","текила, трипл сек, самбука"};
    int[] icons = new int [] {R.drawable.b52, R.drawable.green_mexicano, R.drawable.oboroten, R.drawable.ayt, R.drawable.bmw};
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.shot_drinks);
        // Связываемся с ListView
        ListView list = (ListView) findViewById(R.id.lvMain);
        // создаем адаптер
        ArrayAdapter adapter = new ArrayAdapter
                (this, android.R.layout.simple_list_item_1, title);
        // устанавливаем адаптер списку
        list.setAdapter(adapter);
        list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView parent, View view, int position, long id) {
                onShowDialog(title[position], description[position], icons[position]);
            }
        });
    }
    public void onShowDialog(String title, String message, int drawable){
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle(title)
                .setMessage(message)
                .setCancelable(true)
                .setIcon(drawable)
                .setNegativeButton("Закрыть", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.cancel();
                    }
                })
                .setPositiveButton ("Поделиться", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        final Intent intent = new Intent(Intent.ACTION_SEND);
                        intent.setType("text/plain");
                        intent.putExtra(Intent.EXTRA_SUBJECT, "_SUBJECT_");
                        intent.putExtra(Intent.EXTRA_TEXT, "_BODY_");
                        startActivity(Intent.createChooser(intent, getString(R.string.app_name)));
                    }
                });
        AlertDialog alert = builder.create();
        alert.show();
    }
}