Example usage for android.support.v4.app FragmentTransaction attach

List of usage examples for android.support.v4.app FragmentTransaction attach

Introduction

In this page you can find the example usage for android.support.v4.app FragmentTransaction attach.

Prototype

public abstract FragmentTransaction attach(Fragment fragment);

Source Link

Document

Re-attach a fragment after it had previously been deatched from the UI with #detach(Fragment) .

Usage

From source file:cn.nekocode.rxlifecycle.compact.RxLifecycleCompact.java

public static RxLifecycleCompact bind(@NonNull FragmentManager fragmentManager) {
    BindingV4Fragment fragment = (BindingV4Fragment) fragmentManager.findFragmentByTag(FRAGMENT_TAG);
    if (fragment == null) {
        fragment = new BindingV4Fragment();

        final FragmentTransaction transaction = fragmentManager.beginTransaction();
        transaction.add(fragment, FRAGMENT_TAG);
        transaction.commit();/*from ww  w  .  j  a v a 2 s. co m*/

    } else if (fragment.isDetached()) {
        final FragmentTransaction transaction = fragmentManager.beginTransaction();
        transaction.attach(fragment);
        transaction.commit();
    }

    return bind(fragment.getLifecycleBehavior());
}

From source file:cn.nekocode.rxactivityresult.compact.RxActivityResultCompact.java

private static Observable<ActivityResult> startActivityForResult(@NonNull FragmentManager fragmentManager,
        @NonNull final Intent intent, final int requestCode, @Nullable final Bundle options) {

    ResultHandleV4Fragment _fragment = (ResultHandleV4Fragment) fragmentManager.findFragmentByTag(FRAGMENT_TAG);
    if (_fragment == null) {
        _fragment = new ResultHandleV4Fragment();

        final FragmentTransaction transaction = fragmentManager.beginTransaction();
        transaction.add(_fragment, FRAGMENT_TAG);
        transaction.commit();//from w  ww  .ja  v  a2s .  co m

    } else if (_fragment.isDetached()) {
        final FragmentTransaction transaction = fragmentManager.beginTransaction();
        transaction.attach(_fragment);
        transaction.commit();
    }

    final ResultHandleV4Fragment fragment = _fragment;
    return fragment.getIsAttachedBehavior().filter(new Predicate<Boolean>() {
        @Override
        public boolean test(@io.reactivex.annotations.NonNull Boolean isAttached) throws Exception {
            return isAttached;
        }
    }).flatMap(new Function<Boolean, ObservableSource<ActivityResult>>() {
        @Override
        public ObservableSource<ActivityResult> apply(@io.reactivex.annotations.NonNull Boolean aBoolean)
                throws Exception {
            fragment.startActivityForResult(intent, requestCode, options);
            return fragment.getResultPublisher();
        }
    }).filter(new Predicate<ActivityResult>() {
        @Override
        public boolean test(@io.reactivex.annotations.NonNull ActivityResult result) throws Exception {
            return result.getRequestCode() == requestCode;
        }
    });
}

From source file:com.yallaya.fragments.FragmentsModule.java

public static void s_attach(Object arg) {

    HashMap<String, Object> options = (HashMap) arg;

    if (!options.containsKey("fragment")) {
        Log.w(LCAT, "attach called without the fragment arrgument");
        return;/*from   w w  w. ja  v  a 2 s . c om*/
    }
    if (!options.containsKey("frameId")) {
        Log.w(LCAT, "attach called without the frameId arrgument");
        return;
    }

    FragmentProxy proxy = (FragmentProxy) options.get("fragment");
    Fragment frg = proxy.fragment;

    /*
    if (!frg.isDetached()) {
       Log.w(LCAT, "attach called but fragment hasn't been detached");
       return;
    }
    */

    Log.d(LCAT, "attching fragment");

    FragmentTransaction ft = getTransaction(options);
    ft.attach(frg);
    ft.commit();
}

From source file:com.redditandroiddevelopers.ircclient.ChannelActivity.java

@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
    if (mFragment != null) {
        ft.attach(mFragment);
    }
}

From source file:com.streaming.sweetplayer.ArtistActivity.java

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);/* w w  w  .  ja  v a2 s.c  o m*/
    ActionBar actionBar = getSupportActionBar();
    actionBar.setDisplayShowTitleEnabled(false);
    Intent in = getIntent();
    mDetailName = in.getStringExtra(Config.NAME);
    mUrl = in.getStringExtra(Config.URL);

    ArtistFragment artistFragment = new ArtistFragment();
    artistFragment.artistName = in.getStringExtra(Config.NAME);
    artistFragment.artistImage = in.getStringExtra(Config.IMAGE);
    artistFragment.artistSongsUrl = in.getStringExtra(Config.DETAIL_URL) + in.getStringExtra(Config.ID);
    artistFragment.artistAlbumsUrl = Config.ALBUMS_URL + in.getStringExtra(Config.ID);
    artistFragment.detailTab = in.getStringExtra(Config.DETAIL_TAB);

    FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
    ft.attach(artistFragment);
    ft.add(R.id.realtabcontent, artistFragment);
    ft.commit();
    this.getSupportFragmentManager().executePendingTransactions();
}

From source file:fr.ippon.android.opendata.android.TabListener.java

/** The following are each of the ActionBar.TabListener callbacks */
public void onTabSelected(Tab tab, FragmentTransaction ft) {
    if (mFragment == null) {
        mFragment = Fragment.instantiate(mActivity, mClass.getName());
        ft.add(android.R.id.content, mFragment, mTag);
    } else {//from   www  .  j  a v a  2s.c  o  m
        ft.attach(mFragment);
    }
}

From source file:nz.ac.otago.psyanlab.common.designer.program.ProgramFragment.java

@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);

    mScroller = (HorizontalScrollView) view.findViewById(R.id.scroll);
    mScroller.setSmoothScrollingEnabled(true);

    mFragments = new ArrayList<BaseProgramFragment>();

    if (savedInstanceState == null) {
        setNextFragment(null, new LoopsListFragment());
    } else {/*from   w ww . ja va 2 s.c o m*/
        // Reconstruct our fragment state.
        int[] ids = savedInstanceState.getIntArray(KEY_FRAG_IDS);
        FragmentManager cfm = getChildFragmentManager();
        for (int id : ids) {
            BaseProgramFragment f = (BaseProgramFragment) cfm.findFragmentByTag("program_frag" + id);
            f.setScrollerPos(mFragments.size());
            f.setScrollerManager(this);
            mFragments.add(f);
        }

        // Ensure fragments are attached in the correct order.
        FragmentTransaction ft = cfm.beginTransaction();
        for (Fragment f : mFragments) {
            ft.detach(f);
        }
        ft.commit();
        cfm.executePendingTransactions();
        for (Fragment f : mFragments) {
            FragmentTransaction t = cfm.beginTransaction();
            t.attach(f);
            t.commit();
            cfm.executePendingTransactions();
        }

        int position = savedInstanceState.getInt(KEY_SCROLL_POSITION, 0);
        requestInstantMoveTo(position);
    }
}

From source file:org.onebusaway.android.ui.TabListener.java

public void onTabSelected(ActionBar.Tab tab, FragmentTransaction unused) {
    // The parameter is always null
    // See: http://groups.google.com/group/actionbarsherlock/browse_thread/thread/89eac58c13fe1ae0/8d6db0ba248e53d9?show_docid=8d6db0ba248e53d9
    FragmentManager fm = mActivity.getSupportFragmentManager();
    FragmentTransaction ft = fm.beginTransaction();
    if (mFragment == null) {
        mFragment = Fragment.instantiate(mActivity, mClass.getName(), mArgs);
        ft.add(android.R.id.content, mFragment, mTag);
    } else {//from   w w  w.  j av a 2  s.com
        ft.attach(mFragment);
    }
    ft.commit();
}

From source file:can.yrt.onebusaway.TabListener.java

public void onTabSelected(Tab tab, FragmentTransaction unused) {
    // The parameter is always null
    // See: http://groups.google.com/group/actionbarsherlock/browse_thread/thread/89eac58c13fe1ae0/8d6db0ba248e53d9?show_docid=8d6db0ba248e53d9
    FragmentManager fm = mActivity.getSupportFragmentManager();
    FragmentTransaction ft = fm.beginTransaction();
    if (mFragment == null) {
        mFragment = Fragment.instantiate(mActivity, mClass.getName(), mArgs);
        ft.add(android.R.id.content, mFragment, mTag);
    } else {/*  www.j a  va  2 s .com*/
        ft.attach(mFragment);
    }
    ft.commit();
}

From source file:com.cse3310.phms.ui.fragments.DietScreenFragment.java

public void onEvent(Events.SwitchDayEvent event) {
    populateCardList(dayIndicatorFragment.getSelectedDay());
    // sort by food name then by brand name
    Collections.sort(cardList, getComparator(NAME_SORT, BRAND_SORT));

    cardListFragment.clearCards(); // clear old cards
    cardListFragment.addCards(cardList); // add new cards
    dietHeaderFragment.calculateTotal(cardList); // update the nutrition counter

    // refresh the cardListFragment to get undo listener
    // to work properly after switching to a different day.
    FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
    transaction.detach(cardListFragment);
    transaction.attach(cardListFragment);
    transaction.commit();/*from  w w  w .ja v  a2  s . c om*/
}