@Override public void finishUpdate(ViewGroup container) { if (mCurTransaction != null) { mCurTransaction.commitAllowingStateLoss(); mCurTransaction = null; mFragmentManager.executePendingTransactions(); } }
@Override public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); FragmentManager fm = getChildFragmentManager(); SupportMapFragment mapFragment = (SupportMapFragment) fm.findFragmentByTag("mapFragment"); if (mapFragment == null) { mapFragment = new SupportMapFragment(); FragmentTransaction ft = fm.beginTransaction(); ft.add(R.id.mapFragmentContainer, mapFragment, "mapFragment"); ft.commit(); fm.executePendingTransactions(); } mapFragment.getMapAsync(callback); }
FragmentManager fManager = getSupportFragmentManager(); FragGroups fragGroups = (FragGroups) fManager.findFragmentByTag("groups"); if (fragGroups != null) { fManager.beginTransaction().remove(fragGroups).commit(); fManager.executePendingTransactions(); } else { fragGroups = new FragGroups(); } if (mTwoPane) { fManager.beginTransaction().replace(R.id.fragment_container_groups, fragGroups, "groups").commit(); } else { fManager.beginTransaction().replace(R.id.fragment_container, fragGroups, "groups").commit(); }
Fragment fragment = new MyFragment(); // note getSupportFragmentManager() instead getFragmentManager() FragmentManager fragmentManager = getSupportFragmentManager(); fragmentManager.beginTransaction() .replace(R.id.frame, fragment) .addToBackStack(null) .commit(); fragmentManager.executePendingTransactions();
/** * Replaces stack contents with just one fragment. */ public void replace(Fragment fragment) { manager.popBackStackImmediate(null, FragmentManager.POP_BACK_STACK_INCLUSIVE); manager.beginTransaction() .replace(containerId, fragment, indexToTag(0)) .commit(); manager.executePendingTransactions(); }
public void initialize(FragmentManager fragmentManager, AirMapInterface mapInterface) { if (mapInterface == null || fragmentManager == null) { throw new IllegalArgumentException("Either mapInterface or fragmentManager is null"); } this.mapInterface = mapInterface; this.mapInterface.setOnMapLoadedListener(this); fragmentManager.beginTransaction() .replace(getId(), (Fragment) this.mapInterface) .commit(); fragmentManager.executePendingTransactions(); }
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(); }
@Override public void addFragmentWithTag(String tag, RequestManager manager) { SupportRequestManagerFragment fragment = new SupportRequestManagerFragment(); fragment.setRequestManager(manager); controller.get().getSupportFragmentManager().beginTransaction() .add(fragment, RequestManagerRetriever.FRAGMENT_TAG).commitAllowingStateLoss(); controller.get().getSupportFragmentManager().executePendingTransactions(); } }
/** * Pushes a fragment to the top of the stack. */ public void push(Fragment fragment) { Fragment top = peek(); if (top != null) { manager.beginTransaction() .setCustomAnimations(R.anim.enter_from_right, R.anim.exit_to_left, R.anim.enter_from_left, R.anim.exit_to_right) .remove(top) .add(containerId, fragment, indexToTag(manager.getBackStackEntryCount() + 1)) .addToBackStack(null) .commit(); } else { manager.beginTransaction() .add(containerId, fragment, indexToTag(0)) .commit(); } manager.executePendingTransactions(); }
public SupportRequestManagerHarness() { supportFragment = new SupportRequestManagerFragment(lifecycle); supportController = Robolectric.buildActivity(FragmentActivity.class).create(); supportController.get() .getSupportFragmentManager() .beginTransaction() .add(supportFragment, TAG) .commit(); supportController.get().getSupportFragmentManager().executePendingTransactions(); }
private void removeDialog(int dialogId) { FragmentManager fm = getFragmentManager(); if (fm == null || isRemoving() || isDetached()) { return; } // Make sure the "show dialog" transaction has been processed when we call // findFragmentByTag() below. Otherwise the fragment won't be found and the dialog will // never be dismissed. fm.executePendingTransactions(); DialogFragment fragment = (DialogFragment) fm.findFragmentByTag(getDialogTag(dialogId)); if (fragment != null) { fragment.dismissAllowingStateLoss(); } }
public SupportRetrieverHarness() { this.parent = new Fragment(); controller.create(); controller.get().getSupportFragmentManager().beginTransaction().add(parent, PARENT_TAG) .commitAllowingStateLoss(); controller.get().getSupportFragmentManager().executePendingTransactions(); controller.start().resume(); }
@Test public void testSupportCanGetRequestManagerFromFragment() { FragmentActivity activity = Robolectric.buildActivity(FragmentActivity.class).create().start().resume().get(); Fragment fragment = new Fragment(); activity.getSupportFragmentManager().beginTransaction().add(fragment, PARENT_TAG).commit(); activity.getSupportFragmentManager().executePendingTransactions(); RequestManager manager = retriever.get(fragment); assertEquals(manager, retriever.get(fragment)); }
private void helpTestSupportCanGetRequestManagerFromDetachedFragment() { FragmentActivity activity = Robolectric.buildActivity(FragmentActivity.class).create().start().resume().get(); Fragment fragment = new Fragment(); activity.getSupportFragmentManager().beginTransaction().add(fragment, PARENT_TAG) .detach(fragment).commit(); activity.getSupportFragmentManager().executePendingTransactions(); assertTrue(fragment.isDetached()); retriever.get(fragment); }
@SuppressLint("CheckResult") private void openDownloadDialog() { ExtractorHelper.getStreamInfo(currentServiceId, currentUrl, true) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe((@NonNull StreamInfo result) -> { List<VideoStream> sortedVideoStreams = ListHelper.getSortedStreamVideosList(this, result.getVideoStreams(), result.getVideoOnlyStreams(), false); int selectedVideoStreamIndex = ListHelper.getDefaultResolutionIndex(this, sortedVideoStreams); android.support.v4.app.FragmentManager fm = getSupportFragmentManager(); DownloadDialog downloadDialog = DownloadDialog.newInstance(result); downloadDialog.setVideoStreams(sortedVideoStreams); downloadDialog.setAudioStreams(result.getAudioStreams()); downloadDialog.setSelectedVideoStream(selectedVideoStreamIndex); downloadDialog.show(fm, "downloadDialog"); fm.executePendingTransactions(); downloadDialog.getDialog().setOnDismissListener(dialog -> { finish(); }); }, (@NonNull Throwable throwable) -> { onError(); }); }
.replace(R.id.container, pickerFragment, "tag") .commit(); getSupportFragmentManager().executePendingTransactions();
public void onStart() { FragmentManager fragmentManager = getFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); fragmentTransaction.add(R.layout.fragmentContainer, new MyFragment); fragmentTransaction.commit(); fragmentManager.executePendingTransactions(); foo(); // Should now work correctly }
public static void addFragmentOnlyOnce(FragmentManager fragmentManager, Fragment fragment, String tag) { // Make sure the current transaction finishes first fragmentManager.executePendingTransactions(); // If there is no fragment yet with this tag... if (fragmentManager.findFragmentByTag(tag) == null) { // Add it FragmentTransaction transaction = fragmentManager.beginTransaction(); transaction.add(fragment, tag); transaction.commit(); } }
Fragment fragment = new MyFragment(); // note getSupportFragmentManager() instead getFragmentManager() FragmentManager fragmentManager = getSupportFragmentManager(); fragmentManager.beginTransaction() .replace(R.id.frame, fragment) .addToBackStack(null) .commit(); fragmentManager.executePendingTransactions();
@Override public void onClick(View v) { final FragmentManager fm = ((FragmentActivity) getContext()).getSupportFragmentManager(); Fragment auxiliary = new Fragment() { @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { //DO WHATEVER YOU NEED super.onActivityResult(requestCode, resultCode, data); fm.beginTransaction().remove(this).commit(); } }; fm.beginTransaction().add(auxiliary, "FRAGMENT_TAG").commit(); fm.executePendingTransactions(); auxiliary.startActivityForResult(new Intent(getContext(), ToStartActivity.class), 3333); }