Example usage for android.support.v4.app FragmentManager addOnBackStackChangedListener

List of usage examples for android.support.v4.app FragmentManager addOnBackStackChangedListener

Introduction

In this page you can find the example usage for android.support.v4.app FragmentManager addOnBackStackChangedListener.

Prototype

public abstract void addOnBackStackChangedListener(OnBackStackChangedListener listener);

Source Link

Document

Add a new listener for changes to the fragment back stack.

Usage

From source file:com.nadmm.airports.FragmentActivityBase.java

@Override
protected void onPostCreate(Bundle savedInstanceState) {
    super.onPostCreate(savedInstanceState);

    FragmentManager fm = getSupportFragmentManager();
    fm.addOnBackStackChangedListener(new FragmentManager.OnBackStackChangedListener() {
        @Override//w w w.j a va  2 s  . c o m
        public void onBackStackChanged() {
            FragmentManager fm = getSupportFragmentManager();
            mCurFragment = (FragmentBase) fm.findFragmentById(R.id.fragment_container);
            enableDisableSwipeRefresh(mCurFragment.isRefreshable());
        }
    });

    int actionBarSize = UiUtils.calculateActionBarSize(this);
    setProgressBarTopWhenActionBarShown(actionBarSize);
}

From source file:com.nextgis.libngui.activity.NGPreferenceActivity.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    mListeners = new ArrayList<>();

    setContentView(R.layout.activity_settings);
    setToolbar(R.id.main_toolbar);//from  w  ww.  ja  v  a  2 s  . c  o m

    FragmentManager fm = getSupportFragmentManager();
    fm.addOnBackStackChangedListener(new FragmentManager.OnBackStackChangedListener() {
        public void onBackStackChanged() {
            FragmentManager fm = getSupportFragmentManager();
            NGPreferenceSettingsFragment settings = (NGPreferenceSettingsFragment) fm
                    .findFragmentByTag(getPreferenceSettingsFragmentTag());

            String title;
            if (null != settings) {
                title = settings.getFragmentTitle();
            } else {
                title = getTitleString();
            }
            setTitle(title);
        }
    });

    // Create the fragment only when the activity is created for the first time,
    // ie. not after orientation changes
    if (savedInstanceState == null) {
        replaceHeadersFragment();

        if (isMultiPane(this)) {
            String action = getIntent().getAction();
            if (null == action) {
                action = SettingsConstantsUI.ACTION_PREFS_GENERAL;
            }
            Bundle args = new Bundle();
            args.putString(PreferenceFragmentCompat.ARG_PREFERENCE_ROOT, action);

            replaceSettingsFragment(args);
        }
    }
}

From source file:com.gdgdevfest.android.apps.devfestbcn.ui.tablet.MapMultiPaneActivity.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_map);

    FragmentManager fm = getSupportFragmentManager();
    fm.addOnBackStackChangedListener(this);

    mFragmentBreadCrumbs = (FragmentBreadCrumbs) findViewById(R.id.breadcrumbs);
    mFragmentBreadCrumbs.setActivity(this);

    mMapFragment = (MapFragment) fm.findFragmentByTag("map");
    if (mMapFragment == null) {
        mMapFragment = new MapFragment();
        mMapFragment.setArguments(intentToFragmentArguments(getIntent()));

        fm.beginTransaction().add(R.id.fragment_container_map, mMapFragment, "map").commit();
    }//ww w  . ja v a2  s  .  co  m

    findViewById(R.id.close_button).setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            clearBackStack(false);
        }
    });

    updateBreadCrumbs();
    onConfigurationChanged(getResources().getConfiguration());
}

From source file:com.afayear.android.client.activity.DualPaneActivity.java

@Override
protected void onCreate(final Bundle savedInstanceState) {
    mPreferences = getSharedPreferences(SHARED_PREFERENCES_NAME, Context.MODE_PRIVATE);
    super.onCreate(savedInstanceState);
    final Resources res = getResources();
    final int orientation = res.getConfiguration().orientation;
    final int layout;
    final boolean is_large_screen = res.getBoolean(R.bool.is_large_screen);
    mDualPaneInPortrait = mPreferences.getBoolean(PREFERENCE_KEY_DUAL_PANE_IN_PORTRAIT, is_large_screen);
    mDualPaneInLandscape = mPreferences.getBoolean(PREFERENCE_KEY_DUAL_PANE_IN_LANDSCAPE, is_large_screen);
    switch (orientation) {
    case Configuration.ORIENTATION_LANDSCAPE:
        layout = mDualPaneInLandscape || shouldForceEnableDualPaneMode() ? getDualPaneLayoutRes()
                : getNormalLayoutRes();/*from   w  w w .j  a v  a  2 s. co  m*/
        break;
    case Configuration.ORIENTATION_PORTRAIT:
        layout = mDualPaneInPortrait || shouldForceEnableDualPaneMode() ? getDualPaneLayoutRes()
                : getNormalLayoutRes();
        break;
    default:
        layout = getNormalLayoutRes();
        break;
    }
    setContentView(layout);
    if (mSlidingPane != null) {
        mSlidingPane.setRightPaneBackground(getPaneBackground());
    }
    final FragmentManager fm = getSupportFragmentManager();
    fm.addOnBackStackChangedListener(this);
    if (savedInstanceState != null) {
        final Fragment left_pane_fragment = fm.findFragmentById(PANE_LEFT);
        final View main_view = findViewById(R.id.main);
        final boolean left_pane_used = left_pane_fragment != null && left_pane_fragment.isAdded();
        if (main_view != null) {
            final int visibility = left_pane_used ? View.GONE : View.VISIBLE;
            main_view.setVisibility(visibility);
        }
    }
}

From source file:org.wheelmap.android.activity.POIDetailEditableActivity.java

@Override
public void onCreate(Bundle savedInstanceState) {

    requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);

    super.onCreate(savedInstanceState);

    if (UtilsMisc.isTablet(getApplicationContext())) {
        UtilsMisc.showAsPopup(this);

    }//from w w  w. j ava 2  s.c  o  m
    setContentView(R.layout.activity_frame_empty);
    setSupportProgressBarIndeterminateVisibility(false);
    if (getSupportActionBar() != null) {
        getSupportActionBar().setTitle(R.string.title_editor);
        getSupportActionBar().setDisplayShowTitleEnabled(true);
        getSupportActionBar().setHomeButtonEnabled(true);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    }
    setExternalEditableState(savedInstanceState);

    FragmentManager fm = getSupportFragmentManager();
    fm.addOnBackStackChangedListener(this);

    mFragment = fm.findFragmentById(R.id.content);
    if (mFragment != null) {
        return;
    }

    Long poiID = getIntent().getLongExtra(Extra.POI_ID, Extra.ID_UNKNOWN);
    if (poiID == Extra.ID_UNKNOWN) {
        Log.w(TAG, "poi id is not given - cant do anything");
        return;
    }

    int focus = getIntent().getIntExtra("Focus", 0);

    mFragment = POIDetailEditableFragment.newInstance(poiID, focus);
    fm.beginTransaction().add(R.id.content, mFragment, POIDetailEditableFragment.TAG).commit();

}

From source file:org.mariotaku.twidere.activity.support.DualPaneActivity.java

@Override
protected void onCreate(final Bundle savedInstanceState) {
    mPreferences = getSharedPreferences(SHARED_PREFERENCES_NAME, Context.MODE_PRIVATE);
    super.onCreate(savedInstanceState);
    final Resources res = getResources();
    final int orientation = res.getConfiguration().orientation;
    final int layout;
    final boolean is_large_screen = res.getBoolean(R.bool.is_large_screen);
    mDualPaneInPortrait = mPreferences.getBoolean(PREFERENCE_KEY_DUAL_PANE_IN_PORTRAIT, is_large_screen);
    mDualPaneInLandscape = mPreferences.getBoolean(PREFERENCE_KEY_DUAL_PANE_IN_LANDSCAPE, is_large_screen);
    switch (orientation) {
    case Configuration.ORIENTATION_LANDSCAPE:
        layout = mDualPaneInLandscape || shouldForceEnableDualPaneMode() ? getDualPaneLayoutRes()
                : getNormalLayoutRes();// www  .  jav a  2 s  .  c  o  m
        break;
    case Configuration.ORIENTATION_PORTRAIT:
        layout = mDualPaneInPortrait || shouldForceEnableDualPaneMode() ? getDualPaneLayoutRes()
                : getNormalLayoutRes();
        break;
    default:
        layout = getNormalLayoutRes();
        break;
    }
    setContentView(layout);
    if (mSlidingPane != null) {
        mSlidingPane.setRightPaneBackground(getPaneBackground());
    }
    final FragmentManager fm = getSupportFragmentManager();
    fm.addOnBackStackChangedListener(this);
    if (savedInstanceState != null) {
        updateMainViewVisibility();
    }
}

From source file:com.velli.passwordmanager.filepicker.ActivityFilePicker.java

private void initRootFolder(boolean hasStoragePermission) {
    final String path = Environment.getExternalStorageDirectory().getPath();
    final FragmentFileList frag = getNewFileFragment(path);
    final FragmentManager m = getSupportFragmentManager();

    m.addOnBackStackChangedListener(this);
    m.beginTransaction().add(R.id.activity_file_picker_container, frag, path).commit();

    mAdapter.addPath(path);/*w ww  . ja  v a2 s . com*/
}

From source file:br.com.testmaster.view.activity.MainActivity.java

private void replaceFragment(Fragment fragment) {
    FragmentManager fragmentManager = getSupportFragmentManager();
    android.support.v4.app.FragmentTransaction transaction = fragmentManager.beginTransaction();
    transaction.replace(R.id.content_main, fragment);

    fragmentManager.addOnBackStackChangedListener(new FragmentManager.OnBackStackChangedListener() {
        @Override//  w w  w  .  ja  va2 s.  c om
        public void onBackStackChanged() {
            if (getFragmentManager().getBackStackEntryCount() == 0)
                finish();
        }
    });
    transaction.commit();
}

From source file:com.koushikdutta.widgets.ListContentFragmentInternal.java

@SuppressLint("InlinedApi")
void setContentNative(final String breadcrumb) {
    android.app.Fragment f = (android.app.Fragment) mCurrentContent;
    Activity fa = getActivity();/* ww  w .j  a va 2  s  .co  m*/
    final android.app.FragmentManager fm = fa.getFragmentManager();

    android.app.FragmentTransaction ft = fm.beginTransaction();
    if (isPaged()) {
        if (listener == null) {
            fm.addOnBackStackChangedListener(new android.app.FragmentManager.OnBackStackChangedListener() {
                {
                    listener = this;
                }

                @Override
                public void onBackStackChanged() {
                    android.app.Fragment f = (android.app.Fragment) getFragment();
                    if (f.isDetached() || f.isRemoving()) {
                        fm.removeOnBackStackChangedListener(this);
                        return;
                    }
                    View v = getFragment().getView();
                    if (v == null)
                        return;
                    final View l = v.findViewById(R.id.list_fragment);
                    if (l == null)
                        return;
                    if (fm.getBackStackEntryCount() > 0 && "content"
                            .equals(fm.getBackStackEntryAt(fm.getBackStackEntryCount() - 1).getName())) {
                        l.setVisibility(View.GONE);
                    } else {
                        l.setVisibility(View.VISIBLE);
                    }
                }
            });
        }

        fm.popBackStack("content", android.app.FragmentManager.POP_BACK_STACK_INCLUSIVE);
        ft.setBreadCrumbTitle(breadcrumb);
        ft.setBreadCrumbShortTitle(breadcrumb);
        ft.addToBackStack("content");
    }
    ft.replace(getContentId(), f, "content");
    ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
    ft.commit();
}

From source file:org.fuusio.api.flow.AbstractFlow.java

@Override
public final void start(final Bundle params) {
    mLifecycleState = LifecycleState.STARTED;
    final FragmentManager manager = mFragmentContainer.getSupportFragmentManager();
    manager.addOnBackStackChangedListener(this);
    Dependency.activateScope(this);

    onStart(params);//  w  w w. j  av  a  2s. co  m
}