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

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

Introduction

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

Prototype

public abstract Fragment findFragmentByTag(String tag);

Source Link

Document

Finds a fragment that was identified by the given tag either when inflated from XML or as supplied when added in a transaction.

Usage

From source file:at.ac.tuwien.detlef.activities.MainActivity.java

private PlayerFragment getPlayerFragment() {
    FragmentManager manager = getSupportFragmentManager();
    String tag = String.format("android:switcher:%d:%d", R.id.pager, SectionsPagerAdapter.POSITION_PLAYER);
    return (PlayerFragment) manager.findFragmentByTag(tag);
}

From source file:com.dm.material.dashboard.candybar.fragments.IconsBaseFragment.java

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    super.onCreateOptionsMenu(menu, inflater);
    inflater.inflate(R.menu.menu_search, menu);
    MenuItem search = menu.findItem(R.id.menu_search);

    MenuItemCompat.setOnActionExpandListener(search, new MenuItemCompat.OnActionExpandListener() {
        @Override//from ww w . jav  a2 s.c om
        public boolean onMenuItemActionExpand(MenuItem item) {
            FragmentManager fm = getActivity().getSupportFragmentManager();
            if (fm == null)
                return false;

            setHasOptionsMenu(false);
            View view = getActivity().findViewById(R.id.shadow);
            if (view != null)
                view.animate().translationY(-mTabLayout.getHeight()).setDuration(200).start();
            mTabLayout.animate().translationY(-mTabLayout.getHeight()).setDuration(200)
                    .setListener(new AnimatorListenerAdapter() {
                        @Override
                        public void onAnimationEnd(android.animation.Animator animation) {
                            super.onAnimationEnd(animation);
                            Fragment prev = fm.findFragmentByTag("home");
                            if (prev != null)
                                return;

                            PagerIconsAdapter adapter = (PagerIconsAdapter) mPager.getAdapter();
                            if (adapter == null)
                                return;

                            SearchListener listener = (SearchListener) getActivity();
                            listener.onSearchExpanded(true);

                            FragmentTransaction ft = fm.beginTransaction()
                                    .replace(R.id.container, new IconsSearchFragment(), IconsSearchFragment.TAG)
                                    .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE)
                                    .addToBackStack(null);

                            try {
                                ft.commit();
                            } catch (Exception e) {
                                ft.commitAllowingStateLoss();
                            }
                        }
                    }).start();

            return false;
        }

        @Override
        public boolean onMenuItemActionCollapse(MenuItem item) {
            return true;
        }
    });
}

From source file:at.ac.tuwien.detlef.activities.MainActivity.java

/**
 * Retrieves the currently active episode list fragment.
 *//*w w  w .  j a  v  a  2s .c o m*/
private EpisodeListFragment getEpisodeListFragment() {
    FragmentManager manager = getSupportFragmentManager();
    String tag = String.format("android:switcher:%d:%d", R.id.pager, SectionsPagerAdapter.POSITION_EPISODES);
    return (EpisodeListFragment) manager.findFragmentByTag(tag);
}

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

/**
 * ?fragmnet//from  ww  w.  j  a  v a 2s . c o  m
 *
 * @return ?Fragment
 */
public BaseFragment getActiveFragment() {
    if (this.isFinishing()) {
        return null;
    }
    FragmentManager manager = this.getSupportFragmentManager();
    if (manager != null) {
        int count = manager.getBackStackEntryCount();
        if (count > 0) {
            String tag = manager.getBackStackEntryAt(count - 1).getName();
            return (BaseFragment) manager.findFragmentByTag(tag);
        }
    }
    return null;
}

From source file:com.andrada.sitracker.ui.fragment.PublicationInfoFragment.java

@Click(R.id.publication_rating_block)
void voteForPubClicked() {
    if (currentRecord != null && getActivity() != null) {
        AnalyticsHelper.getInstance().sendView(Constants.GA_SCREEN_RATING_DIALOG);
        FragmentManager fm = this.getActivity().getSupportFragmentManager();
        FragmentTransaction ft = fm.beginTransaction();
        Fragment prev = fm.findFragmentByTag(RatePublicationDialog.FRAGMENT_TAG);
        if (prev != null) {
            ft.remove(prev);//from   w  ww  .  j a v  a  2  s.  com
        }
        ft.addToBackStack(null);
        RatePublicationDialog dg;
        if (currentRecord.getVoteDate() != null && !TextUtils.isEmpty(currentRecord.getVoteCookie())) {
            dg = RatePublicationDialog_.builder().publicationUrl(currentRecord.getUrl())
                    .currentRating(currentRecord.getMyVote()).votingCookie(currentRecord.getVoteCookie())
                    .build();
        } else {
            dg = RatePublicationDialog_.builder().publicationUrl(currentRecord.getUrl()).build();
        }
        dg.show(ft, AboutDialog.FRAGMENT_TAG);

    }
}

From source file:com.nextgis.ngm_clink_monitoring.activities.MainActivity.java

public void onMenuLocationClick() {
    FragmentManager fm = getSupportFragmentManager();
    Fragment fragment = fm.findFragmentByTag(FoclConstants.FRAGMENT_MAP);

    if (null != fragment) {
        ((MapFragment) fragment).locateCurrentPositionAndZoom(true, null);
    }//from   ww w .  j a  v  a 2s . c  o  m
}

From source file:com.nextgis.ngm_clink_monitoring.activities.MainActivity.java

public void onMenuRefreshMapClick() {
    FragmentManager fm = getSupportFragmentManager();
    Fragment fragment = fm.findFragmentByTag(FoclConstants.FRAGMENT_MAP);

    if (null != fragment) {
        ((MapFragment) fragment).refresh();
    }/*from   w  w w . ja va  2 s .com*/
}

From source file:com.mZone.epro.launch.fragment.LaunchAboutFragment.java

@Override
public void onClick(View v) {
    final FragmentManager fragmentManager = getChildFragmentManager();
    Fragment fragment = null;//from w  ww.  j  a va2  s.  com
    DialogFragment dialogFragment = null;

    int viewID = v.getId();
    switch (viewID) {
    case R.id.launch_about_developer_homepage:
        startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(DEVELOPER_HOMEPAGE)));
        break;
    case R.id.launch_about_user_guide:
        startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(USER_GUIDE_LINK)));
        break;
    case R.id.launch_about_rating_us:
        final String appPackageName = getActivity().getPackageName();
        try {
            startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName)));
        } catch (android.content.ActivityNotFoundException anfe) {
            startActivity(new Intent(Intent.ACTION_VIEW,
                    Uri.parse("http://play.google.com/store/apps/details?id=" + appPackageName)));
        }
        break;
    case R.id.launch_about_about_opensource:
        fragment = fragmentManager.findFragmentByTag(FRAGMENT_TAG_DIALOG_OPEN_SOURCE_LICENSE);
        if (fragment == null) {
            dialogFragment = new OpenSourceLicenseDialogFragment();
            dialogFragment.show(fragmentManager, FRAGMENT_TAG_DIALOG_OPEN_SOURCE_LICENSE);
        }
        break;

    default:
        break;
    }
}

From source file:com.androzic.MainActivity.java

private void selectItem(int position) {
    if (mDrawerAdapter.getSelectedItem() == position)
        return;/*from w  w  w.  j av a  2  s. c o m*/

    DrawerItem item = mDrawerItems.get(position);
    // Actions
    if (item.type == DrawerItem.ItemType.INTENT) {
        if (position > 0)
            startActivity(item.intent);
    }
    // Fragments
    else if (item.type == DrawerItem.ItemType.FRAGMENT) {
        FragmentManager fm = getSupportFragmentManager();
        if (fm.getBackStackEntryCount() > 0) {
            fm.popBackStackImmediate(0, FragmentManager.POP_BACK_STACK_INCLUSIVE);
        }
        FragmentTransaction ft = fm.beginTransaction();
        Fragment parent = fm.findFragmentById(R.id.content_frame);
        if (parent != null) {
            ft.detach(parent);
        }
        Fragment fragment = fm.findFragmentByTag(item.name);
        if (fragment != null) {
            ft.attach(fragment);
        } else {
            ft.add(R.id.content_frame, item.fragment, item.name);
        }
        ft.commit();
        // update selected item and title, then close the drawer
        updateDrawerUI(item, position);
    } else if (item.type == DrawerItem.ItemType.ACTION) {
        Log.e(TAG, "ACTION");
        runOnUiThread(item.action);
    }
    mDrawerLayout.closeDrawer(mDrawerList);
}

From source file:com.nextgis.ngm_clink_monitoring.activities.MainActivity.java

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

    if (getIntent().getBooleanExtra(FoclConstants.NO_SDCARD, false)) {

        YesNoDialog dialog = new YesNoDialog();
        dialog.setCancelable(false);//from www  . j  a v a2  s  .  co  m
        dialog.setKeepInstance(true).setIcon(R.drawable.ic_action_warning).setTitle(R.string.warning)
                .setMessage(getString(R.string.no_sdcard_exit_app)).setPositiveText(R.string.ok)
                .setOnPositiveClickedListener(new YesNoDialog.OnPositiveClickedListener() {
                    @Override
                    public void onPositiveClicked() {
                        // show Home screen
                        Intent intent = new Intent(Intent.ACTION_MAIN);
                        intent.addCategory(Intent.CATEGORY_HOME);
                        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                        startActivity(intent);

                        System.exit(0);
                    }
                }).show(getSupportFragmentManager(), FoclConstants.FRAGMENT_YES_NO_DIALOG + "NoSdCard");
        return;
    }

    final GISApplication app = (GISApplication) getApplication();

    mGpsEventSource = app.getGpsEventSource();
    if (null != mGpsEventSource) {
        mGpsEventSource.addListener(this);
    }

    // initialize the default settings
    PreferenceManager.setDefaultValues(this, R.xml.preferences_general, false);

    mSyncStatusObserver = new SyncStatusObserver() {
        @Override
        public void onStatusChanged(int which) {
            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    Account account = app.getAccount();

                    if (null != account) {
                        mIsSyncing = AccountUtil.isSyncActive(account, FoclSettingsConstantsUI.AUTHORITY);
                        switchMenuView();
                    }
                }
            });
        }
    };

    setContentView(R.layout.activity_main);

    mMainToolbar = (Toolbar) findViewById(R.id.main_toolbar_cl);
    mMainToolbar.setTitle(""); // needed for screen rotation
    mMainToolbar.getBackground().setAlpha(255);
    setSupportActionBar(mMainToolbar);

    mBottomToolbar = (Toolbar) findViewById(R.id.bottom_toolbar_cl);
    mBottomToolbar.setContentInsetsAbsolute(0, 0);
    mBottomToolbar.getBackground().setAlpha(255);

    ActionBar actionBar = getSupportActionBar();
    if (actionBar != null) {
        // Inflate a custom action bar that contains the "done" button
        LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View customActionBarView = inflater.inflate(R.layout.editor_custom_action_bar, null);

        mCustomToolbarTitle = (TextView) customActionBarView.findViewById(R.id.custom_toolbar_title);
        mCustomToolbarButton = (TextView) customActionBarView.findViewById(R.id.custom_toolbar_button);
        mCustomToolbarImage = (ImageView) customActionBarView.findViewById(R.id.custom_toolbar_image);

        actionBar.setDisplayOptions(0, ActionBar.DISPLAY_SHOW_CUSTOM);
        actionBar.setCustomView(customActionBarView);
    }

    // TODO: remove it
    //        FragmentManager fm = getSupportFragmentManager();
    //        mStatusBarFragment =
    //                (StatusBarFragment) fm.findFragmentByTag(FoclConstants.FRAGMENT_STATUS_BAR);
    //        if (null == mStatusBarFragment) {
    //            mStatusBarFragment = new StatusBarFragment();
    //            FragmentTransaction ft = fm.beginTransaction();
    //            ft.replace(
    //                    R.id.status_bar_fragment, mStatusBarFragment,
    //                    FoclConstants.FRAGMENT_STATUS_BAR);
    //            ft.hide(mStatusBarFragment);
    //            ft.commit();
    //        }

    if (null == savedInstanceState) {
        if (!app.hasAccount()) {
            mViewState = VIEW_STATE_LOGIN;
        } else if (null == app.getFoclProject()) {
            mViewState = VIEW_STATE_1ST_SYNC;
        } else {
            mViewState = VIEW_STATE_OBJECTS;
        }
    } else {
        if (savedInstanceState.containsKey(FoclConstants.VIEW_STATE)) {
            mViewState = savedInstanceState.getInt(FoclConstants.VIEW_STATE);
        }
    }

    setActivityView();

    // workaround for YesNoDialog destroying by the screen rotation
    FragmentManager fm = getSupportFragmentManager();
    Fragment fr = fm.findFragmentByTag(FoclConstants.FRAGMENT_YES_NO_DIALOG + "CancelObjectCreating");
    if (null != fr) {
        FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
        ft.remove(fr);
        ft.commit();
    }
}