@Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { // If the drawer is open, show the global app actions in the action bar. See also // showGlobalContextActionBar, which controls the top-left area of the action bar. if (drawerLayout != null && isDrawerOpen()) { inflater.inflate(R.menu.global, menu); presenter.showActionBar(); } super.onCreateOptionsMenu(menu, inflater); }
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (savedInstanceState != null) { currentSelectedPosition = savedInstanceState.getInt(STATE_SELECTED_POSITION); fromSavedInstanceState = true; } // Select either the default item (0) or the last selected item. presenter.select(currentSelectedPosition); }
@Override public View onCreateView( LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { LinearLayout headerView = (LinearLayout) inflater.inflate(R.layout.drawer_header, container, false); drawerListView = (ListView) inflater.inflate(R.layout.fragment_navigation_drawer, container, false); drawerListView.addHeaderView(headerView); drawerListView.setOnItemClickListener( new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { presenter.select(position); } }); presenter.initListView(); return drawerListView; }
/** * Users of this fragment must call this method to set up the navigation drawer interactions. * * @param fragmentId The android:id of this fragment in its activity's layout. * @param drawerLayout The DrawerLayout containing this fragment's UI. */ public void setUp(int fragmentId, DrawerLayout drawerLayout) { fragmentContainerView = getActivity().findViewById(fragmentId); this.drawerLayout = drawerLayout; presenter.setUp(); // ActionBarDrawerToggle ties together the the proper interactions // between the navigation drawer and the action bar app icon. drawerToggle = new ActionBarDrawerToggle( getActivity(), /* host Activity */ drawerLayout, /* DrawerLayout object */ R.drawable.ic_drawer, /* nav drawer image to replace 'Up' caret */ R.string.navigation_drawer_open, /* "open drawer" description for accessibility */ R.string.navigation_drawer_close /* "close drawer" description for accessibility */) { @Override public void onDrawerClosed(View drawerView) { super.onDrawerClosed(drawerView); if (!isAdded()) { return; } getActivity().invalidateOptionsMenu(); // calls onPrepareOptionsMenu() } @Override public void onDrawerOpened(View drawerView) { super.onDrawerOpened(drawerView); if (!isAdded()) { return; } presenter.onDrawerOpened(); getActivity().invalidateOptionsMenu(); // calls onPrepareOptionsMenu() } }; this.drawerLayout.setDrawerListener(drawerToggle); }