private void MenuItemClicked(int menuId) { Android.Support.V4.App.Fragment fragment = null; switch (menuId) { case Resource.Id.nav_home: fragment = CalendarFragment.NewInstance(); break; case Resource.Id.nav_SaftyMonitoring: { fragment = SafetyMonitoringFragment.NewInstance(); } break; case Resource.Id.nav_visits: { var intent = new Intent(this, typeof(MyShiftActivity)); StartActivity(intent); Finish(); return; } } if (fragment != null) { SupportFragmentManager.BeginTransaction() .Replace(Droid.Resource.Id.content_frame, fragment) .Commit(); } }
public override Android.Support.V4.App.Fragment GetItem(int position) { switch (position) { case 0: return(CalendarFragment.NewInstance()); case 1: return(SafetyMonitoringFragment.NewInstance()); } return(null); }
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 = CalendarFragment.NewInstance(); fragment.OnAttach(ApplicationContext); break; case 1: fragment = new NewsListFragment(); fragment.OnAttach(ApplicationContext); break; case 2: fragment = new MemberListFragment(); fragment.OnAttach(ApplicationContext); break; } if (fragment != null) { var layout = FindViewById <RelativeLayout>(Resource.Id.content_frame_wrapper); layout.SetPadding(_currentPadding[0], _currentPadding[1], _currentPadding[2], _currentPadding[3]); SupportFragmentManager.BeginTransaction() .Replace(Resource.Id.content_frame, fragment).AddToBackStack("tag") .Commit(); } }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.main); RequestedOrientation = ScreenOrientation.Portrait; UserDialogs.Init(this); _application = ApplicationContext as MyApplication; var toolbar = FindViewById <Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar); if (toolbar != null) { SetSupportActionBar(toolbar); SupportActionBar.SetDisplayHomeAsUpEnabled(true); SupportActionBar.SetHomeButtonEnabled(true); } _drawerLayout = FindViewById <DrawerLayout>(Resource.Id.drawer_layout); //Set hamburger items menu SupportActionBar.SetHomeAsUpIndicator(Resource.Drawable.ic_menu); //setup navigation view _navigationView = FindViewById <NavigationView>(Resource.Id.nav_view); var view = _navigationView.GetHeaderView(0); var usernameTextView = view.FindViewById <TextView>(Resource.Id.nav_header_username); usernameTextView.Text = _application.CurrentUser.Username; var nameTextView = view.FindViewById <TextView>(Resource.Id.nav_header_name); nameTextView.Text = _application.CurrentUser.Firstname + " " + _application.CurrentUser.Lastname; var emailTextView = view.FindViewById <TextView>(Resource.Id.nav_header_email); emailTextView.Text = _application.CurrentUser.Email; var changeTeamTextView = _navigationView.FindViewById <TextView>(Resource.Id.nav_footer_item_change_team); changeTeamTextView.Click += ChangeTeam; var logoutTextView = _navigationView.FindViewById <TextView>(Resource.Id.nav_footer_item_logout); logoutTextView.Click += Logout; var layout = FindViewById <RelativeLayout>(Resource.Id.content_frame_wrapper); _currentPadding[0] = layout.PaddingLeft; _currentPadding[1] = layout.PaddingTop; _currentPadding[2] = layout.PaddingRight; _currentPadding[3] = layout.PaddingBottom; //handle navigation _navigationView.NavigationItemSelected += (sender, e) => { _previousItem?.SetChecked(false); _navigationView.SetCheckedItem(e.MenuItem.ItemId); _previousItem = e.MenuItem; switch (e.MenuItem.ItemId) { case Resource.Id.nav_calendar: ListItemClicked(0); break; case Resource.Id.nav_news: ListItemClicked(1); break; case Resource.Id.nav_member_list: ListItemClicked(2); break; } _drawerLayout.CloseDrawers(); }; //if first time you will want to go ahead and click first item. if (savedInstanceState == null) { _navigationView.SetCheckedItem(Resource.Id.nav_calendar); var fragment = CalendarFragment.NewInstance(); fragment.OnAttach(ApplicationContext); SupportFragmentManager.BeginTransaction() .Replace(Resource.Id.content_frame, fragment) .Commit(); } }