android.support.v4.app.FragmentManager#executePendingTransactions ( )源码实例Demo

下面列出了android.support.v4.app.FragmentManager#executePendingTransactions ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: KUtils   文件: ErrorDialogManager.java
public void onEventMainThread(ThrowableFailureEvent event) {
    if (!isInExecutionScope(executionScope, event)) {
        return;
    }
    checkLogException(event);
    // Execute pending commits before finding to avoid multiple error fragments being shown
    FragmentManager fm = getFragmentManager();
    fm.executePendingTransactions();

    DialogFragment existingFragment = (DialogFragment) fm.findFragmentByTag(TAG_ERROR_DIALOG);
    if (existingFragment != null) {
        // Just show the latest error
        existingFragment.dismiss();
    }

    DialogFragment errorFragment = (DialogFragment) factory
            .prepareErrorFragment(event, finishAfterDialog, argumentsForErrorDialog);
    if (errorFragment != null) {
        errorFragment.show(fm, TAG_ERROR_DIALOG);
    }
}
 
源代码2 项目: KUtils-master   文件: ErrorDialogManager.java
public void onEventMainThread(ThrowableFailureEvent event) {
    if (!isInExecutionScope(executionScope, event)) {
        return;
    }
    checkLogException(event);
    // Execute pending commits before finding to avoid multiple error fragments being shown
    FragmentManager fm = getFragmentManager();
    fm.executePendingTransactions();

    DialogFragment existingFragment = (DialogFragment) fm.findFragmentByTag(TAG_ERROR_DIALOG);
    if (existingFragment != null) {
        // Just show the latest error
        existingFragment.dismiss();
    }

    DialogFragment errorFragment = (DialogFragment) factory
            .prepareErrorFragment(event, finishAfterDialog, argumentsForErrorDialog);
    if (errorFragment != null) {
        errorFragment.show(fm, TAG_ERROR_DIALOG);
    }
}
 
源代码3 项目: Wizard   文件: Wizard.java
public boolean navigateNext() {
  if (!activity.isFinishing()) {
    FragmentManager fragmentManager = activity.getSupportFragmentManager();
    int nextStep = fragmentManager.getBackStackEntryCount() + 1;
    if (nextStep < pages.length) {
      WizardPage WizardPage = pages[nextStep];
      Fragment fragment = WizardPage.createFragment();
      fragmentManager.beginTransaction()
          .addToBackStack(fragment.getClass().getName())
          .setCustomAnimations(enterAnimation, exitAnimation, popEnterAnimation, popExitAnimation)
          .replace(containerId, fragment)
          .commit();
      fragmentManager.executePendingTransactions();
      return true;
    } else if (wizardListener != null) {
      wizardListener.onWizardFinished();
    }
  }
  return false;
}
 
源代码4 项目: RxSocialAuth   文件: RxFacebookAuth.java
/**
 * Get instance of RxFacebookAuthFragment
 *
 * @return a RxFacebookAuthFragment
 */
private RxFacebookAuthFragment getRxFacebookAuthFragment(Builder builder) {
    FragmentManager fragmentManager = mActivity.getSupportFragmentManager();

    // prevent fragment manager already executing transaction
    int stackCount = fragmentManager.getBackStackEntryCount();
    if( fragmentManager.getFragments() != null )
        fragmentManager = fragmentManager.getFragments().get( stackCount > 0 ? stackCount-1 : stackCount ).getChildFragmentManager();

    RxFacebookAuthFragment rxFacebookAuthFragment = (RxFacebookAuthFragment)
            fragmentManager.findFragmentByTag(RxFacebookAuthFragment.TAG);

    if (rxFacebookAuthFragment == null) {
        rxFacebookAuthFragment = RxFacebookAuthFragment.newInstance(builder);
        fragmentManager
                .beginTransaction()
                .add(rxFacebookAuthFragment, RxFacebookAuthFragment.TAG)
                .commit();
        fragmentManager.executePendingTransactions();
    }
    return rxFacebookAuthFragment;
}
 
源代码5 项目: youqu_master   文件: BaseFragmentAdapter.java
public void setFragments(FragmentManager fm,List<Fragment> fragments,List<String> mTitles) {
    this.mTitles = mTitles;
    if (this.fragmentList != null) {
        FragmentTransaction ft = fm.beginTransaction();
        for (Fragment f : this.fragmentList) {
            ft.remove(f);
        }
        ft.commitAllowingStateLoss();
        ft = null;
        fm.executePendingTransactions();
    }
    this.fragmentList = fragments;
    notifyDataSetChanged();
}
 
源代码6 项目: imsdk-android   文件: EasyResult.java
private HolderFragment getHolderFragment(FragmentManager fragmentManager) {
    HolderFragment holderFragment = findHolderFragment(fragmentManager);
    if (holderFragment == null) {
        holderFragment = new HolderFragment();
        fragmentManager
                .beginTransaction()
                .add(holderFragment, TAG)
                .commitAllowingStateLoss();
        fragmentManager.executePendingTransactions();
    }
    return holderFragment;
}
 
源代码7 项目: ActivityLauncher   文件: ActivityLauncher.java
private RouterFragmentV4 getRouterFragmentV4(FragmentActivity activity) {
    RouterFragmentV4 routerFragment = findRouterFragmentV4(activity);
    if (routerFragment == null) {
        routerFragment = RouterFragmentV4.newInstance();
        FragmentManager fragmentManager = activity.getSupportFragmentManager();
        fragmentManager
                .beginTransaction()
                .add(routerFragment, TAG)
                .commitAllowingStateLoss();
        fragmentManager.executePendingTransactions();
    }
    return routerFragment;
}
 
源代码8 项目: Wizard   文件: Wizard.java
public void init() {
  if (!activity.isFinishing()) {
    FragmentManager fragmentManager = activity.getSupportFragmentManager();
    fragmentManager.addOnBackStackChangedListener(this);
    WizardPage firstPage = pages[0];
    fragmentManager.beginTransaction().replace(containerId, firstPage.createFragment()).commit();
    fragmentManager.executePendingTransactions();
    if (firstPage.hasOptionMenu()) {
      activity.supportInvalidateOptionsMenu();
    }
    firstPage.setupActionBar(actionBarResolver.getSupportActionBar());
  }
}
 
@NonNull
static ResolutionFragment from(@NonNull FragmentManager fragmentManager) {
  ResolutionFragment resolutionFragment = (ResolutionFragment) fragmentManager.findFragmentByTag(TAG);
  if (resolutionFragment == null) {
    resolutionFragment = new ResolutionFragment();
    fragmentManager
        .beginTransaction()
        .add(resolutionFragment, TAG)
        .commit();
    fragmentManager.executePendingTransactions();
  }
  return resolutionFragment;
}
 
源代码10 项目: KUtils   文件: ErrorDialogManager.java
public static void attachTo(Activity activity, Object executionScope, boolean finishAfterDialog,
        Bundle argumentsForErrorDialog) {
    FragmentManager fm = ((FragmentActivity) activity).getSupportFragmentManager();
    SupportManagerFragment fragment = (SupportManagerFragment) fm.findFragmentByTag(TAG_ERROR_DIALOG_MANAGER);
    if (fragment == null) {
        fragment = new SupportManagerFragment();
        fm.beginTransaction().add(fragment, TAG_ERROR_DIALOG_MANAGER).commit();
        fm.executePendingTransactions();
    }
    fragment.finishAfterDialog = finishAfterDialog;
    fragment.argumentsForErrorDialog = argumentsForErrorDialog;
    fragment.executionScope = executionScope;
}
 
private void showNextFragment() {
    FragmentActivity activity = getActivity();
    if (activity == null) {
        return;
    }
    FragmentManager fm = activity.getSupportFragmentManager();
    FragmentTransaction ft = fm.beginTransaction();
    ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
    ft.replace(R.id.fragment, new FragmentTransitionSecondFragment(), FragmentTransitionSecondFragment.FRAGMENT_TAG);
    ft.addToBackStack(null);
    ft.commit();
    fm.executePendingTransactions();
}
 
@Override
protected DialogFragment openDialogInternal(FragmentManager fm) {
    if (fm.findFragmentByTag(DIALOG_FRAGMENT_TAG) != null) return null;

    Fragment fragment = new Fragment(this, mCallback);
    MediaRouteSelector selector = mediaSource().buildRouteSelector();
    if (selector == null) return null;

    androidMediaRouter().addCallback(selector, mCallback);

    fragment.show(fm, DIALOG_FRAGMENT_TAG);
    fm.executePendingTransactions();

    return fragment;
}
 
源代码13 项目: delion   文件: MediaRouteControllerDialogManager.java
@Override
protected DialogFragment openDialogInternal(FragmentManager fm) {
    if (fm.findFragmentByTag(DIALOG_FRAGMENT_TAG) != null) return null;

    MediaRouteControllerDialogFragment fragment = new MediaRouteControllerDialogFragment() {
        final SystemVisibilitySaver mVisibilitySaver = new SystemVisibilitySaver();

        @Override
        public void onStart() {
            mVisibilitySaver.saveSystemVisibility(getActivity());
            super.onStart();
        }

        @Override
        public void onStop() {
            super.onStop();
            mVisibilitySaver.restoreSystemVisibility(getActivity());
        }

        @Override
        public void onDismiss(DialogInterface dialog) {
            delegate().onDialogCancelled();
            androidMediaRouter().removeCallback(mCallback);
            mDialogFragment = null;
            super.onDismiss(dialog);
        }
    };

    MediaRouteSelector selector = mediaSource().buildRouteSelector();
    if (selector == null) return null;

    androidMediaRouter().addCallback(selector, mCallback);

    fragment.show(fm, DIALOG_FRAGMENT_TAG);
    fm.executePendingTransactions();

    return fragment;
}
 
@Override
protected DialogFragment openDialogInternal(FragmentManager fm) {
    if (fm.findFragmentByTag(DIALOG_FRAGMENT_TAG) != null) return null;

    Fragment fragment = new Fragment(this);
    MediaRouteSelector selector = mediaSource().buildRouteSelector();
    if (selector == null) return null;

    fragment.setRouteSelector(selector);
    fragment.show(fm, DIALOG_FRAGMENT_TAG);
    fm.executePendingTransactions();

    return fragment;
}
 
/**
 * Helper method to load fragments into layout
 *
 * @param containerResId The container resource Id in the content view into which to load the
 *                       fragment
 * @param fragment       The fragment to load
 * @param tag            The fragment tag
 * @param addToBackStack Whether the transaction should be addded to the backstack
 * @param backStackTag   The tag used for the backstack tag
 * @param customAnimate  Whether to provide a custom animation for the Fragment. If
 *                       <code>true</code>, the Fragment also needs to be annotated with a
 *                       {@linkplain li.barter.fragments.FragmentTransition} annotation which
 *                       describes the transition to perform. If <code>false</code>, will use
 *                       default fragment transition
 * @param remove         Whether the fragment should be removed before adding it
 */
public void loadFragment(final int containerResId,
                         final AbstractBarterLiFragment fragment, final String tag,
                         final boolean addToBackStack, final String backStackTag,
                         final boolean customAnimate, final boolean remove) {

    final FragmentManager fragmentManager = getSupportFragmentManager();

    if (remove) {
        fragmentManager.popBackStackImmediate(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
        fragmentManager.beginTransaction().remove(fragment).commit();
        fragmentManager.executePendingTransactions();
    }
    final FragmentTransaction transaction = fragmentManager
            .beginTransaction();

    if (customAnimate) {
        final FragmentTransition fragmentTransition = fragment.getClass()
                .getAnnotation(
                        FragmentTransition.class);
        if (fragmentTransition != null) {

            transaction
                    .setCustomAnimations(fragmentTransition.enterAnimation(), fragmentTransition
                            .exitAnimation(), fragmentTransition
                            .popEnterAnimation(), fragmentTransition
                            .popExitAnimation());

        }
    }


    transaction.replace(containerResId, fragment, tag);

    if (addToBackStack) {
        transaction.addToBackStack(backStackTag);
    }
    transaction.commit();
}
 
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_fragmentactionbarcontrol);

    FragmentManager fm = getSupportFragmentManager();
    if (fm.findFragmentByTag(FragmentTransitionDefaultFragment.FRAGMENT_TAG) == null) {
        FragmentTransaction ft = fm.beginTransaction();
        ft.add(R.id.container, new FragmentActionBarControlListViewFragment(),
                FragmentActionBarControlListViewFragment.FRAGMENT_TAG);
        ft.commit();
        fm.executePendingTransactions();
    }
}
 
源代码17 项目: openshop.io-android   文件: MainActivity.java
/**
 * Method creates fragment transaction and replace current fragment with new one.
 *
 * @param newFragment    new fragment used for replacement.
 * @param transactionTag text identifying fragment transaction.
 */
private void replaceFragment(Fragment newFragment, String transactionTag) {
    if (newFragment != null) {
        FragmentManager frgManager = getSupportFragmentManager();
        FragmentTransaction fragmentTransaction = frgManager.beginTransaction();
        fragmentTransaction.setAllowOptimization(false);
        fragmentTransaction.addToBackStack(transactionTag);
        fragmentTransaction.replace(R.id.main_content_frame, newFragment).commit();
        frgManager.executePendingTransactions();
    } else {
        Timber.e(new RuntimeException(), "Replace fragments with null newFragment parameter.");
    }
}
 
源代码18 项目: ui   文件: MainActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	setContentView(R.layout.activity_main);
	//getSupportFragmentManager().beginTransaction().add(R.id.frag_container, firstFragment).commit();
	
	//first find the 3 fragments, if create them as needed.
	//Remember fragments can survive the restart of an activity on orientation change.
	FragmentManager fragmentManager = getSupportFragmentManager();
	if (savedInstanceState != null) {
		leftfrag = (FragLeft) fragmentManager.getFragment(savedInstanceState, "LEFT");
		midfrag  = (FragMid) fragmentManager.getFragment(savedInstanceState,"MIDDLE");
		rightfrag = (FragRight) fragmentManager.getFragment(savedInstanceState,"RIGHT");
		//since survived, remove them from the fragment manager, so don't double add them.
	    FragmentTransaction remove = fragmentManager.beginTransaction();
	    remove.remove(leftfrag);
	    remove.remove(midfrag);
	    remove.remove(rightfrag);
	    if (!remove.isEmpty()) {
	        remove.commit();
	        fragmentManager.executePendingTransactions();
	    }
	} else {
    	leftfrag = new FragLeft();
    	midfrag = new FragMid();
    	rightfrag = new FragRight();
    }

	viewPager = (ViewPager) findViewById(R.id.pager);
	if (viewPager != null) {
	  //in portrait mode
	  viewPager.setAdapter(new ThreeFragmentPagerAdapter(fragmentManager));
	} else {
		//in landscape mode
	      fragmentManager.beginTransaction()
          .add(R.id.frag_left, leftfrag, "LEFT")
          .add(R.id.frag_mid, midfrag, "MIDDLE")
          .add(R.id.frag_right, rightfrag, "RIGHT")
          .commit();
	}
}
 
源代码19 项目: OneTapVideoDownload   文件: MainActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
    if (BuildConfig.DEBUG) {
        StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
                .detectLeakedSqlLiteObjects()
                .penaltyLog()
                .build()
        );
    }

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    FragmentManager fm = getSupportFragmentManager();
    if (fm.findFragmentByTag(ViewPagerFragmentParent.FRAGMENT_TAG) == null) {
        FragmentTransaction ft = fm.beginTransaction();
        ft.add(R.id.content_frame, new ViewPagerFragmentParent(),
                ViewPagerFragmentParent.FRAGMENT_TAG);
        ft.commit();
        fm.executePendingTransactions();
    }

    FirebaseAnalytics firebaseAnalytics = FirebaseAnalytics.getInstance(this);
    Bundle bundle = new Bundle();
    bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, "Activity~" + getClass().getName());
    firebaseAnalytics.logEvent(FirebaseAnalytics.Event.APP_OPEN, bundle);
    if (CheckPreferences.xposedErrorsEnabled(this)) {
        checkXposedInstallation();
    }
    mApplicationUpdateNotification = new ApplicationUpdateNotification(this);
    mApplicationUpdateNotification.checkForUpdate();
    onNewIntent(getIntent());
    if (Global.isPlaystoreAvailable(this)) {
        FirebaseMessaging.getInstance().subscribeToTopic("playstore_users_notifications");;
    } else {
        FirebaseMessaging.getInstance().subscribeToTopic("non_playstore_users_notifications");
    }
    ThemeManager.applyTheme(this);
}
 
源代码20 项目: ui   文件: MainActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	setContentView(R.layout.activity_main);
	
    FragmentManager fragmentManager = getSupportFragmentManager();
    if (savedInstanceState != null) {
    	one = (PageFragment) fragmentManager.getFragment(savedInstanceState, "ONE");
    	two = (PageFragment) fragmentManager.getFragment(savedInstanceState, "TWO");
    	three = (PageFragment) fragmentManager.getFragment(savedInstanceState, "THREE");
    	four = (PageFragment) fragmentManager.getFragment(savedInstanceState, "FOUR");
    	five = (PageFragment) fragmentManager.getFragment(savedInstanceState, "FIVE");
    	//since survived, need to clean up or I can't add them to the pagers adapter again.
	    FragmentTransaction remove = fragmentManager.beginTransaction();
	    remove.remove(one);
	    remove.remove(two);
	    remove.remove(three);
	    remove.remove(four);
	    remove.remove(five);
	    if (!remove.isEmpty()) {
	        remove.commit();
	        fragmentManager.executePendingTransactions();
	    }
    } else {
    	one = PageFragment.create(1);
    	two = PageFragment.create(2);
    	three = PageFragment.create(3);
    	four = PageFragment.create(4);
    	five = PageFragment.create(5);
    }
	
	viewPager = (ViewPager) findViewById(R.id.pager);
	if (viewPager != null) {
	  //in portrait mode
	  viewPager.setAdapter(new ThreeFragmentPagerAdapter(5));
	} else {
		//in landscape mode
		viewPager1 = (ViewPager) findViewById(R.id.pagerleft);
		viewPager1.setAdapter(new ThreeFragmentPagerAdapter(2));
		viewPager2 = (ViewPager) findViewById(R.id.pagerright);
		viewPager2.setAdapter(new ThreeFragmentPagerAdapter(3));
		
	}
	
}