Skip to content

Instantly share code, notes, and snippets.

@Mauker1
Last active April 4, 2016 20:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Mauker1/79ff4216023c92abc87d7549eb97cff9 to your computer and use it in GitHub Desktop.
Save Mauker1/79ff4216023c92abc87d7549eb97cff9 to your computer and use it in GitHub Desktop.
private Fragment getVitrine() {
if (!mFragments.containsKey(mFragmentTypes.VITRINE)) {
mFragments.put(mFragmentTypes.VITRINE,mFragmentTypes.VITRINE.getFragment());
}
return mFragments.get(mFragmentTypes.VITRINE);
}
public enum mFragmentTypes {
VITRINE {
@Override
public Fragment getFragment() {
return VitrineFragment.newInstance();
}
},
MY_BOOKS {
@Override
public Fragment getFragment() {
return new MyBooksFragment();
}
},
A_TEMATICAS {
@Override
public Fragment getFragment() {
return new AreasTematicasFragment();
}
},
ABOUT {
@Override
public Fragment getFragment() {
return new AboutFragment();
}
};
public abstract Fragment getFragment();
}
@Override
public boolean onNavigationItemSelected(MenuItem menuItem) {
Fragment fragment = null;
boolean shouldChange = true;
switch(menuItem.getItemId()) {
case R.id.drawer_home:
if (menuItem.isChecked()) shouldChange = false;
else {
fragment = getVitrine();
prepareForTabs(false);
menuItem.setChecked(true);
}
break;
case R.id.drawer_mybooks:
if (menuItem.isChecked()) shouldChange = false;
else {
fragment = getMyBooks();
prepareForTabs(true);
menuItem.setChecked(true);
}
break;
case R.id.drawer_aTematicas:
if (menuItem.isChecked()) shouldChange = false;
else {
fragment = getATematicas();
prepareForTabs(false);
menuItem.setChecked(true);
}
break;
case R.id.drawer_about:
if (menuItem.isChecked()) shouldChange = false;
else {
fragment = getAbout();
prepareForTabs(false);
menuItem.setChecked(true);
}
break;
case R.id.drawer_exit:
// TODO - Prompt to exit.
finish();
break;
default:
fragment = getVitrine();
break;
}
if (fragment == null) {
fragment = getVitrine();
}
drawerLayout.closeDrawers();
if (shouldChange) {
changeFragment(fragment);
}
return true;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment