protected override void OnCreate(Bundle savedInstanceState)
		{
			base.OnCreate(savedInstanceState);

			SetContentView(Resource.Layout.Tricklist);

			FragmentManager.FindFragmentById<OverlayFragment>(Resource.Id.Overlay).SetImageResources(Resource.Drawable.overlay_tricklist);

			var tricksToUse = (TrickType)Intent.GetIntExtra(Flags.TricksToUse, (int)TrickType.Custom);
			var query = from trick in Data.TricksList where tricksToUse == TrickType.Custom || trick.Type == tricksToUse orderby trick.Name select trick;
			tricks = query.ToArray();
			ListAdapter = new TrickAdapter(this, tricks);
		}
		public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
		{
			SetStyle(DialogFragmentStyle.NoTitle, Android.Resource.Style.ThemeTranslucentNoTitleBar);
			Dialog.RequestWindowFeature((int)WindowFeatures.NoTitle);
			var view = inflater.Inflate(Resource.Layout.TrickEditFragmentLayout, container, false);

			Dialog.Window.SetBackgroundDrawableResource(Resource.Drawable.shape_roundedRect);

			var tricksToUse = (TrickType)Arguments.GetInt(Flags.TricksToUse, 0);
			IEnumerable<Trick> query = from trick in Data.TricksList where tricksToUse == TrickType.Custom || trick.Type == tricksToUse orderby trick.Name select trick;
			if (tricksToUse == (TrickType)7)
			{
				query = from trick in Data.TricksList where trick.RecommendedRank == (Rank)Arguments.GetInt("Rank") select trick;
			}
			TricksList = query.ToArray();
			var list = view.FindViewById<ListView>(Resource.Id.trickselector_list);
			var activity = Activity as Plan5ProgressActivity;
			var flattenedRanksTricks = Data.RanksTricks.Flatten();
			var filteredTricksList = from trick in TricksList where !flattenedRanksTricks.Any((t) => t.Name == trick.Name) select trick; //Filter out all tricks that have already been selected for some rank.
			var adapter = new TrickAdapter(activity, filteredTricksList);
			list.Adapter = adapter;

			list.ItemClick += delegate (object sender, AdapterView.ItemClickEventArgs e)
			{
				var buttonPos = Arguments.GetInt("Pos");
				//activity.AlterTrick(buttonPos, new Trick(adapter[e.Position]));
				activity.AlterTrick(buttonPos, (Trick)(adapter[e.Position]).Clone());
				Dismiss();
			};
			

			//list.ItemLongClick += delegate (object sender, AdapterView.ItemLongClickEventArgs e)
			//{
			//	using (FragmentTransaction ft = FragmentManager.BeginTransaction())
			//	{
			//		var newFragment = TrickDescriptionFragment.newInstance(adapter[e.Position]);
			//		newFragment.Show(ft, "dialog");
			//	}
			//};

			return view;
		}