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

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

Introduction

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

Prototype

public abstract int getBackStackEntryCount();

Source Link

Document

Return the number of entries currently in the back stack.

Usage

From source file:org.mythdroid.activities.MDFragmentActivity.java

/**
 * Reset fragments - //from  www  .jav  a  2  s  .c  o  m
 * Called when configuration (orientation) changes - 
 * Default implementation replaces the fragment occupying the 'content' id
 * with a new instance of the same class
 */
protected void resetContentView() {
    FragmentManager fm = getSupportFragmentManager();
    Fragment f = null;

    try {
        f = fm.findFragmentById(android.R.id.content);
    } catch (Exception e) {
        ErrUtil.reportErr(this, e);
        return;
    }

    if (f == null) {
        ErrUtil.reportErr(this, Messages.getString("MDFragmentActivity.0")); //$NON-NLS-1$
        return;
    }

    Bundle args = f.getArguments();
    try {
        f = f.getClass().newInstance();
    } catch (Exception e) {
        ErrUtil.reportErr(this, e);
        return;
    }
    f.setArguments(args);

    fm.popBackStackImmediate();
    FragmentTransaction ft = fm.beginTransaction().replace(android.R.id.content, f,
            f.getClass().getSimpleName());
    if (fm.getBackStackEntryCount() > 0)
        ft.addToBackStack(null);
    ft.commitAllowingStateLoss();
    fm.executePendingTransactions();
}

From source file:com.dwdesign.tweetings.activity.HomeActivity.java

@Override
public boolean onOptionsItemSelected(final MenuItem item) {
    switch (item.getItemId()) {
    case MENU_HOME: {
        final FragmentManager fm = getSupportFragmentManager();
        if (isDualPaneMode() && !FragmentManagerTrojan.isStateSaved(fm)) {
            final int count = fm.getBackStackEntryCount();
            for (int i = 0; i < count; i++) {
                fm.popBackStackImmediate();
            }/* ww w .j  a  v  a  2s.c o  m*/
            setSupportProgressBarIndeterminateVisibility(false);
        }
        break;
    }
    case MENU_COMPOSE: {
        if (mComposeButton != null) {
            onClick(mComposeButton);
        }
        break;
    }
    case MENU_SEARCH: {
        onSearchRequested();
        break;
    }
    case MENU_SELECT_ACCOUNT: {
        startActivityForResult(new Intent(INTENT_ACTION_SELECT_ACCOUNT), REQUEST_SELECT_ACCOUNT);
        break;
    }
    case MENU_SETTINGS: {
        startActivity(new Intent(INTENT_ACTION_SETTINGS));
        break;
    }
    }
    return super.onOptionsItemSelected(item);
}

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();/*from  w w  w . j  a  v  a  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:com.facebook.samples.hellofacebook.MapFriends.java

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    uiHelper = new UiLifecycleHelper(this, callback);
    uiHelper.onCreate(savedInstanceState);

    getKeyHash();/*from ww w. j a  v a2s  .  c om*/

    if (savedInstanceState != null) {
        String name = savedInstanceState.getString(PENDING_ACTION_BUNDLE_KEY);
        pendingAction = PendingAction.valueOf(name);
    }

    setContentView(R.layout.main);

    LoginButton loginButton = (LoginButton) findViewById(R.id.login_button);
    loginButton.setReadPermissions(
            Arrays.asList("user_friends", "user_location", "friends_location", "friends_hometown"));
    loginButton.setUserInfoChangedCallback(new LoginButton.UserInfoChangedCallback() {
        @Override
        public void onUserInfoFetched(GraphUser user) {
            MapFriends.this.user = user;
            updateUI();
        }
    });

    profilePictureView = (ProfilePictureView) findViewById(R.id.profilePicture);
    greeting = (TextView) findViewById(R.id.greeting);

    gotoMapButton = (Button) findViewById(R.id.gotoMap);
    gotoMapButton.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            Intent intent = new Intent(MapFriends.this, MapDetails.class);
            startActivity(intent);
        }
    });

    controlsContainer = (ViewGroup) findViewById(R.id.main_ui_container);

    final FragmentManager fm = getSupportFragmentManager();
    Fragment fragment = fm.findFragmentById(R.id.fragment_container);
    if (fragment != null) {
        // If we're being re-created and have a fragment, we need to a) hide the main UI controls and
        // b) hook up its listeners again.
        controlsContainer.setVisibility(View.GONE);
        if (fragment instanceof FriendPickerFragment) {
            setFriendPickerListeners((FriendPickerFragment) fragment);
        } else if (fragment instanceof PlacePickerFragment) {
            setPlacePickerListeners((PlacePickerFragment) fragment);
        }
    }

    // Listen for changes in the back stack so we know if a fragment got popped off because the user
    // clicked the back button.
    fm.addOnBackStackChangedListener(new FragmentManager.OnBackStackChangedListener() {
        @Override
        public void onBackStackChanged() {
            if (fm.getBackStackEntryCount() == 0) {
                // We need to re-show our UI.
                controlsContainer.setVisibility(View.VISIBLE);
            }
        }
    });

    FacebookDialog.canPresentShareDialog(this, FacebookDialog.ShareDialogFeature.SHARE_DIALOG);
}

From source file:cn.edu.zafu.corepage.base.BaseActivity.java

/**
 * fragment/*w w  w  . j av  a  2 s.c o  m*/
 * @param fragmentLists fragment
 */
@Override
public void removeUnlessFragment(List<String> fragmentLists) {
    if (this.isFinishing()) {
        return;
    }
    FragmentManager manager = getSupportFragmentManager();
    if (manager != null) {
        FragmentTransaction transaction = manager.beginTransaction();
        for (String tag : fragmentLists) {
            Fragment fragment = manager.findFragmentByTag(tag);
            if (fragment != null) {
                transaction.remove(fragment);
            }
        }
        transaction.commitAllowingStateLoss();
        int count = manager.getBackStackEntryCount();
        if (count == 0) {
            this.finish();
        }
    }
}

From source file:com.inter.trade.ui.fragment.agent.AgentApplyFragmentNew.java

/**
 * //from  w  w w  .  j  av  a2 s . c o  m
 */
protected void setAgentBackVisible() {
    if (getActivity() == null) {
        return;
    }
    back = (Button) getActivity().findViewById(R.id.title_back_btn);

    if (back == null) {
        return;
    }
    back.setVisibility(View.VISIBLE);
    back.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            FragmentManager manager = getActivity().getSupportFragmentManager();
            int len = manager.getBackStackEntryCount();
            if (len > 0) {
                manager.popBackStack();
            } else {
                getActivity().finish();
            }
        }
    });

    menu = (Button) getActivity().findViewById(R.id.title_menu_btn);
    menu.setVisibility(View.GONE);
    Button right = (Button) getActivity().findViewById(R.id.title_right_btn);
    right.setVisibility(View.GONE);
}

From source file:org.deviceconnect.android.manager.accesslog.AccessLogActivity.java

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case android.R.id.home:
        callFragment();/*from  w  w  w. j a v a  2 s . co  m*/
        FragmentManager manager = getSupportFragmentManager();
        if (manager.getBackStackEntryCount() > 0) {
            manager.popBackStack();
        } else {
            finish();
        }
        return true;
    }
    return super.onOptionsItemSelected(item);
}

From source file:com.dwdesign.tweetings.activity.HomeActivity.java

@Override
public void onBackStackChanged() {
    super.onBackStackChanged();
    if (!isDualPaneMode())
        return;/*from w  w  w  .  j  a v a2 s  .c  o m*/
    final FragmentManager fm = getSupportFragmentManager();
    final Fragment left_pane_fragment = fm.findFragmentById(PANE_LEFT);
    final boolean left_pane_used = left_pane_fragment != null && left_pane_fragment.isAdded();
    setPagingEnabled(!left_pane_used);
    final int count = fm.getBackStackEntryCount();
    if (count == 0) {
        bringLeftPaneToFront();
    }
    invalidateSupportOptionsMenu();
}

From source file:com.efithealth.app.activity.MainActivity.java

/**
 * Fragment//from  www. j  av  a  2s .c o m
 */
private void clearFragment() {
    FragmentManager ft = getSupportFragmentManager();
    int count = ft.getBackStackEntryCount();
    for (int i = 0; i < count; i++) {
        ft.popBackStackImmediate();
        //         Log.i("Fragment popped from stack: ", "just popped: " + i + ".");
    }
    Log.e("MainActivityPopdone:", ft.getFragments().size() + ";" + ft.getBackStackEntryCount());
}

From source file:it.iziozi.iziozi.gui.IOBoardActivity.java

private void setupNavButtons() {

    LinearLayout centerNavigationLayout = (LinearLayout) findViewById(R.id.centerLayoutNavigationContainer);
    LinearLayout leftNavigationLayout = (LinearLayout) findViewById(R.id.leftLayoutNavigationContainer);
    LinearLayout rightNavigationLayout = (LinearLayout) findViewById(R.id.rightLayoutNavigationContainer);

    mCenterBackButton = new IconTextView(this);

    LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
            (int) getResources().getDimension(R.dimen.navigation_bar_button_size),
            (int) getResources().getDimension(R.dimen.navigation_bar_button_size));
    mCenterBackButton.setLayoutParams(params);
    mCenterBackButton.setGravity(Gravity.CENTER);
    mCenterBackButton.setBackground(getResources().getDrawable(R.drawable.circular_shape));
    mCenterBackButton.setTextColor(Color.WHITE);

    mCenterBackButton.setTextSize(32);//from   www  .  j a v  a 2s.c  o m
    Iconify.setIcon(mCenterBackButton, Iconify.IconValue.fa_arrow_left);

    centerNavigationLayout.addView(mCenterBackButton);

    mCenterBackButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Log.d("test", "back stack size " + getSupportFragmentManager().getBackStackEntryCount());
            if (getSupportFragmentManager().getBackStackEntryCount() > 0)
                getSupportFragmentManager().popBackStackImmediate();
            refreshView();
        }
    });

    mCenterHomeButton = new IconTextView(this);

    params.setMargins((int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 20,
            getResources().getDisplayMetrics()), 0, 0, 0);
    mCenterHomeButton.setLayoutParams(params);
    mCenterHomeButton.setGravity(Gravity.CENTER);
    mCenterHomeButton.setTextSize(32);
    mCenterHomeButton.setBackground(getResources().getDrawable(R.drawable.circular_shape));
    mCenterHomeButton.setTextColor(Color.WHITE);

    Iconify.setIcon(mCenterHomeButton, Iconify.IconValue.fa_home);

    centerNavigationLayout.addView(mCenterHomeButton);

    mCenterHomeButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            FragmentManager fm = getSupportFragmentManager();
            while (fm.getBackStackEntryCount() > 0)
                fm.popBackStackImmediate();

            refreshView();

        }
    });

    mLeftNavigationButton = new IconTextView(this);

    mLeftNavigationButton.setLayoutParams(params);
    mLeftNavigationButton.setGravity(Gravity.CENTER);
    mLeftNavigationButton.setBackground(getResources().getDrawable(R.drawable.circular_shape));
    mLeftNavigationButton.setTextColor(Color.WHITE);

    mLeftNavigationButton.setTextSize(32);
    Iconify.setIcon(mLeftNavigationButton, Iconify.IconValue.fa_arrow_left);

    leftNavigationLayout.addView(mLeftNavigationButton);

    mLeftNavigationButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            if (IOGlobalConfiguration.isEditing) {
                mActualLevel.addInnerBoardAtIndex(new IOBoard(), mActualIndex);
                refreshView();
            } else
                paginateLeft();
        }
    });

    mRightNavigationButton = new IconTextView(this);

    mRightNavigationButton.setLayoutParams(params);
    mRightNavigationButton.setGravity(Gravity.CENTER);
    mRightNavigationButton.setBackground(getResources().getDrawable(R.drawable.circular_shape));
    mRightNavigationButton.setTextColor(Color.WHITE);

    mRightNavigationButton.setTextSize(32);
    Iconify.setIcon(mRightNavigationButton, Iconify.IconValue.fa_arrow_right);

    rightNavigationLayout.addView(mRightNavigationButton);

    mRightNavigationButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            if (IOGlobalConfiguration.isEditing) {
                mActualLevel.addInnerBoardAtIndex(new IOBoard(), mActualIndex + 1);

                refreshView(mActualLevel.getActiveIndex() + 1);
            } else {
                paginateRight();
            }
        }
    });

    mCenterTrashNavigationButton = new IconTextView(this);

    mCenterTrashNavigationButton.setLayoutParams(params);
    mCenterTrashNavigationButton.setGravity(Gravity.CENTER);
    mCenterTrashNavigationButton.setBackground(getResources().getDrawable(R.drawable.circular_shape));
    mCenterTrashNavigationButton.setTextColor(Color.WHITE);

    mCenterTrashNavigationButton.setTextSize(32);
    Iconify.setIcon(mCenterTrashNavigationButton, Iconify.IconValue.fa_trash_o);

    centerNavigationLayout.addView(mCenterTrashNavigationButton);

    mCenterTrashNavigationButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            new AlertDialog.Builder(IOBoardActivity.this).setTitle(getResources().getString(R.string.warning))
                    .setMessage(getString(R.string.delete_page_alert))
                    .setPositiveButton(getResources().getString(R.string.yes),
                            new DialogInterface.OnClickListener() {
                                @Override
                                public void onClick(DialogInterface dialog, int which) {

                                    mActualLevel.removeBoardAtIndex(mActualIndex);

                                    refreshView();
                                }
                            })
                    .setNegativeButton(getString(R.string.no), null).setCancelable(false).create().show();

        }
    });

    mCenterTrashNavigationButton.setVisibility(View.GONE);
    mCenterHomeButton.setVisibility(View.GONE);
    mCenterBackButton.setVisibility(View.GONE);

}