Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.test.fragmentchildissue;
- import android.os.Bundle;
- import android.support.v4.app.Fragment;
- import android.support.v4.app.FragmentActivity;
- import android.support.v4.app.FragmentManager;
- import android.support.v4.app.FragmentTransaction;
- public class ChildFragmentManagerActivity extends FragmentActivity {
- FragmentManager fragmentManager;
- @Override
- protected void onCreate(Bundle arg0) {
- super.onCreate(arg0);
- setContentView(R.layout.activity_childfragmentmanager);
- fragmentManager = getSupportFragmentManager();
- setupFragment();
- }
- private void setupFragment() {
- FragmentTransaction fragmentTransaction = fragmentManager
- .beginTransaction();
- ParentFragment parentFragment1 = new ParentFragment();
- Bundle args = new Bundle();
- args.putString("text", "Hi I am Parent Fragment");
- parentFragment1.setArguments(args);
- fragmentTransaction.add(R.id.frameLayout, parentFragment1,
- parentFragment1.getClass().getSimpleName());
- fragmentTransaction.commit();
- }
- @Override
- public void onBackPressed() {
- int count = fragmentManager.getBackStackEntryCount();
- if (count == 0) {
- // get Current Fragment
- Fragment currentFragment = fragmentManager
- .findFragmentByTag("ParentFragment");
- // get ChildFragmentManager
- FragmentManager chilFragmentManager = currentFragment
- .getChildFragmentManager();
- int childFragmentsCount = chilFragmentManager
- .getBackStackEntryCount();
- // removing child fragments stack
- if (childFragmentsCount == 0) {
- super.onBackPressed();
- } else {
- chilFragmentManager.popBackStack();
- }
- } else {
- // removing replaced fragments stack
- fragmentManager.popBackStack();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement