MaAc
MaAc

Reputation: 281

How to call a fragment in Android Studio 1.4 NavigationDrawer template under onNavigationItemSelected(MenuItem item)

Just updated the Android Studio into 1.4 and I found a NavigationDrawer template on there which is different from previous one. I want to call fragments by each drawer item select like gmail app. Under public boolean onNavigationItemSelected(MenuItem item) how I can call my different fragments?

Upvotes: 3

Views: 1472

Answers (1)

Geovani dos Santos
Geovani dos Santos

Reputation: 42

Call the select Drawer Item method within your onNavigationItemSelected(MenuItem item).

For example,

private void selectDrawerItem(MenuItem menuItem) {
        Fragment fragment = null;
        Class fragmentClass;
        switch (menuItem.getItemId()) {
            case R.id.nav_first_fragment:
                fragmentClass = FamilyGuyFragment.class;
                break; 
            case R.id.nav_second_fragment:
                fragmentClass = FuturamaFragment.class;
                break; 
            case R.id.nav_third_fragment:
                fragmentClass = SimpsonsFragment.class;
                break; 
            default: 
                fragmentClass = SouthParkFragment.class;
        } 


        try { 
            fragment = (Fragment) fragmentClass.newInstance();
        } catch (InstantiationException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } 


        FragmentManager fragmentManager = getSupportFragmentManager();
        fragmentManager.beginTransaction().replace(R.id.flContent, fragment).commit();


        menuItem.setChecked(true);
        setTitle(menuItem.getTitle());
        mDrawer.closeDrawers();
    }

https://github.com/codepath/android_guides/wiki/Fragment-Navigation-Drawer https://github.com/JGeovani/android-navigation-drawer-exercise

Upvotes: 1

Related Questions