Guest User

Untitled

a guest
Oct 23rd, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.34 KB | None | 0 0
  1. @Override
  2. public boolean onNavigationItemSelected(@NonNull MenuItem item) {
  3.  
  4. FragmentTransaction ft = fm.beginTransaction();
  5. Fragment currentFrag = fm.findFragmentById(R.id.container);
  6.  
  7. int id = item.getItemId();
  8. switch (id) {
  9. case R.id.trains: {
  10. if (currentFrag == trainListFrag) {
  11. ((TrainListFragment) trainListFrag).scrollToTop();
  12. break;
  13. }
  14. ft.replace(R.id.container, trainListFrag);
  15. arrangeFragmentHistory(trainListFrag);
  16. break;
  17. }
  18. case R.id.brands: {
  19. if (currentFrag == brandListFrag) {
  20. break;
  21. }
  22. ft.replace(R.id.container, brandListFrag);
  23. arrangeFragmentHistory(brandListFrag);
  24. break;
  25. }
  26. case R.id.categories: {
  27. if (currentFrag == categoryListFrag) {
  28. break;
  29. }
  30. ft.replace(R.id.container, categoryListFrag);
  31. arrangeFragmentHistory(categoryListFrag);
  32. break;
  33. }
  34. }
  35. ft.setCustomAnimations(android.R.animator.fade_in, android.R.animator.fade_out)
  36. .commit();
  37. fm.executePendingTransactions();
  38. onFragmentHistoryChanged();
  39. return true;
  40. }
  41.  
  42. private void arrangeFragmentHistory(Fragment fragment) {
  43. fragmentHistory.removeFirstOccurrence(fragment);
  44. fragmentHistory.add(fragment);
  45. }
  46.  
  47. private void goBackToPreviousFragment() {
  48. if (fragmentHistory.size() > 1) {
  49. fragmentHistory.removeLast();
  50. getSupportFragmentManager().beginTransaction()
  51. .replace(R.id.container, fragmentHistory.getLast())
  52. .setCustomAnimations(android.R.animator.fade_in, android.R.animator.fade_out)
  53. .commit();
  54. fm.executePendingTransactions();
  55. onFragmentHistoryChanged();
  56. } else {
  57. super.onBackPressed();
  58. }
  59. }
  60.  
  61. private void onFragmentHistoryChanged() {
  62. clearFocusAndHideKeyboard();
  63. Fragment currentFrag = getSupportFragmentManager().findFragmentById(R.id.container);
  64. setMenuItemChecked(currentFrag);
  65. hideOrShowBottomNavigation(currentFrag);
  66. }
Add Comment
Please, Sign In to add comment