private void ListItemClicked(int position) { //this way we don't load twice, but you might want to modify this a bit. if (position == oldPosition) { return; } oldPosition = position; Android.Support.V4.App.Fragment fragment = null; switch (position) { case 0: fragment = HomeFragment.NewInstance(); break; case 1: fragment = LocationsFragment.NewInstance(); break; case 2: fragment = AddItemBarcodeFragment.NewInstance(); break; case 3: fragment = StoragesFragment.NewInstance(); break; case 4: fragment = CategoriesFragment.NewInstance(); break; case 5: fragment = ProductsFragment.NewInstance(); break; case 6: fragment = ShopListFragment.NewInstance(); break; case 7: fragment = SummaryFragment.NewInstance(); break; } SupportFragmentManager.BeginTransaction() .Replace(Resource.Id.content_frame, fragment) .Commit(); }
/// <summary> /// Sets the child fragment for when each navigation item is selected /// </summary> private void SetFrameFragment(int index) { assignment = assignmentViewModel.SelectedAssignment; //var transaction = FragmentManager.BeginTransaction (); var screen = Constants.Navigation [index]; switch (screen) { case "Summary": { var fragment = new SummaryFragment(); fragment.Assignment = assignment; // transaction.SetTransition (FragmentTransit.FragmentOpen); // transaction.Replace (Resource.Id.contentFrame, fragment); // transaction.Commit (); items.Visibility = addItems.Visibility = ViewStates.Invisible; addExpense.Visibility = addLabor.Visibility = ViewStates.Gone; } break; case "Map": { var fragment = new MapFragment(); // transaction.SetTransition (FragmentTransit.FragmentOpen); // transaction.Replace (Resource.Id.contentFrame, fragment); // transaction.Commit (); items.Visibility = addItems.Visibility = ViewStates.Invisible; addExpense.Visibility = addLabor.Visibility = ViewStates.Gone; } break; case "Items": { var fragment = new ItemFragment(); fragment.Assignment = assignment; itemViewModel.LoadAssignmentItemsAsync(assignment).ContinueWith(_ => { RunOnUiThread(() => { fragment.AssignmentItems = itemViewModel.AssignmentItems; // transaction.SetTransition (FragmentTransit.FragmentOpen); // transaction.Replace (Resource.Id.contentFrame, fragment); // transaction.Commit (); items.Visibility = addItems.Visibility = ViewStates.Visible; addExpense.Visibility = addLabor.Visibility = ViewStates.Gone; items.Text = string.Format("({0}) Items", assignment.TotalItems.ToString()); }); }); } break; case "Labor Hours": { var fragment = new LaborHourFragment(); laborViewModel.LoadLaborHoursAsync(assignment).ContinueWith(_ => { RunOnUiThread(() => { fragment.LaborHours = laborViewModel.LaborHours; fragment.Assignment = assignment; // transaction.SetTransition (FragmentTransit.FragmentOpen); // transaction.Replace (Resource.Id.contentFrame, fragment); // transaction.Commit (); addLabor.Visibility = items.Visibility = ViewStates.Visible; addExpense.Visibility = addItems.Visibility = ViewStates.Gone; items.Text = string.Format("{0} hrs", assignment.TotalHours.TotalHours.ToString("0.0")); }); }); } break; case "Confirmations": { var fragment = new ConfirmationFragment(); photoViewModel.LoadPhotosAsync(assignment).ContinueWith(_ => { RunOnUiThread(() => { fragment.Photos = photoViewModel.Photos; fragment.Assignment = assignment; // transaction.SetTransition (FragmentTransit.FragmentOpen); // transaction.Replace (Resource.Id.contentFrame, fragment); // transaction.Commit (); addLabor.Visibility = items.Visibility = ViewStates.Invisible; addExpense.Visibility = addItems.Visibility = ViewStates.Gone; }); }); } break; case "Expenses": { var fragment = new ExpenseFragment(); expenseViewModel.LoadExpensesAsync(assignment).ContinueWith(_ => { RunOnUiThread(() => { fragment.Expenses = expenseViewModel.Expenses; fragment.Assignment = assignment; // transaction.SetTransition (FragmentTransit.FragmentOpen); // transaction.Replace (Resource.Id.contentFrame, fragment); // transaction.Commit (); addLabor.Visibility = addItems.Visibility = ViewStates.Gone; items.Visibility = addExpense.Visibility = ViewStates.Visible; items.Text = assignment.TotalExpenses.ToString("$0.00"); }); }); } break; case "Documents": { var fragment = new DocumentFragment(); documentViewModel.LoadDocumentsAsync().ContinueWith(_ => { RunOnUiThread(() => { fragment.Documents = documentViewModel.Documents; // transaction.SetTransition (FragmentTransit.FragmentOpen); // transaction.Replace (Resource.Id.contentFrame, fragment); // transaction.Commit (); items.Visibility = addItems.Visibility = ViewStates.Invisible; addExpense.Visibility = addLabor.Visibility = ViewStates.Gone; }); }); } break; case "History": { var fragment = new HistoryFragment(); historyViewModel.LoadHistoryAsync(assignment).ContinueWith(_ => { RunOnUiThread(() => { fragment.History = historyViewModel.History; fragment.Assignment = assignment; // transaction.SetTransition (FragmentTransit.FragmentOpen); // transaction.Replace (Resource.Id.contentFrame, fragment); // transaction.Commit (); items.Visibility = addItems.Visibility = ViewStates.Invisible; addExpense.Visibility = addLabor.Visibility = ViewStates.Gone; }); }); } break; default: break; } }