Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Activity extends AppCompatActivity {
- public String lastFragment;
- private FragmentManager fragmentManager;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_onboarding);
- Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
- setSupportActionBar(toolbar);
- fragmentManager = getSupportFragmentManager();
- actionBar = getSupportActionBar();
- if (actionBar != null) {
- actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
- actionBar.setCustomView(R.layout.action_bar_kudolife);
- header = (MulticoloreTextView) findViewById(R.id.title);
- }
- public void nextFragment(Fragment fragment, String newTag, String curTag) {
- lastFragment = curTag; //Tracks back location
- Fragment check = checkForFragment(newTag);
- FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
- if (check != null) {
- fragment = check; //Fragment exists
- } else {
- fragmentTransaction.addToBackStack(newTag); //Fragment doesn't exist
- }
- fragmentTransaction.replace(R.id.parent, fragment, newTag);
- fragmentTransaction.commit();
- }
- @Override
- public void onBackPressed() {
- int i = fragmentManager.getBackStackEntryCount() - 1;
- for (int j = i; j >= 0; j--) {
- FragmentManager.BackStackEntry entry = fragmentManager.getBackStackEntryAt(j);
- String tag = entry.getName();
- if (lastFragment.equals(tag)) {
- Fragment fragment = fragmentManager.findFragmentByTag(tag);
- FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
- fragmentTransaction.replace(R.id.parent, fragment, tag);
- fragmentTransaction.commit();
- if (j != 0) {
- entry = fragmentManager.getBackStackEntryAt(j - 1);
- lastFragment = entry.getName();
- } else {
- lastFragment = "END OF STACK, NOTHING TO RETURN";
- }
- return;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement