Advertisement
Guest User

Untitled

a guest
Sep 30th, 2016
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.22 KB | None | 0 0
  1. public class Activity extends AppCompatActivity {
  2.  
  3. public String lastFragment;
  4. private FragmentManager fragmentManager;
  5.  
  6.  
  7. @Override
  8. protected void onCreate(Bundle savedInstanceState) {
  9. super.onCreate(savedInstanceState);
  10.  
  11. setContentView(R.layout.activity_onboarding);
  12. Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
  13. setSupportActionBar(toolbar);
  14. fragmentManager = getSupportFragmentManager();
  15.  
  16.  
  17. actionBar = getSupportActionBar();
  18. if (actionBar != null) {
  19. actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
  20. actionBar.setCustomView(R.layout.action_bar_kudolife);
  21. header = (MulticoloreTextView) findViewById(R.id.title);
  22. }
  23.  
  24. public void nextFragment(Fragment fragment, String newTag, String curTag) {
  25.  
  26. lastFragment = curTag; //Tracks back location
  27.  
  28. Fragment check = checkForFragment(newTag);
  29. FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
  30.  
  31. if (check != null) {
  32. fragment = check; //Fragment exists
  33. } else {
  34. fragmentTransaction.addToBackStack(newTag); //Fragment doesn't exist
  35. }
  36.  
  37. fragmentTransaction.replace(R.id.parent, fragment, newTag);
  38. fragmentTransaction.commit();
  39.  
  40. }
  41.  
  42.  
  43. @Override
  44. public void onBackPressed() {
  45.  
  46. int i = fragmentManager.getBackStackEntryCount() - 1;
  47.  
  48. for (int j = i; j >= 0; j--) {
  49.  
  50. FragmentManager.BackStackEntry entry = fragmentManager.getBackStackEntryAt(j);
  51. String tag = entry.getName();
  52.  
  53. if (lastFragment.equals(tag)) {
  54.  
  55. Fragment fragment = fragmentManager.findFragmentByTag(tag);
  56.  
  57. FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
  58. fragmentTransaction.replace(R.id.parent, fragment, tag);
  59. fragmentTransaction.commit();
  60.  
  61. if (j != 0) {
  62. entry = fragmentManager.getBackStackEntryAt(j - 1);
  63. lastFragment = entry.getName();
  64.  
  65. } else {
  66. lastFragment = "END OF STACK, NOTHING TO RETURN";
  67. }
  68.  
  69. return;
  70. }
  71. }
  72. }
  73.  
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement