类android.app.FragmentManager源码实例Demo

下面列出了怎么用android.app.FragmentManager的API类实例代码及写法,或者点击链接到github查看源代码。

@Override
public boolean dispatchKeyEvent(final KeyEvent event) {
    if (event.getAction() == KeyEvent.ACTION_DOWN) {
        switch (event.getKeyCode()) {
            case KeyEvent.KEYCODE_BACK:
                FragmentManager fm = getFragmentManager();
                int cnt = fm.getBackStackEntryCount();
                if (cnt <= 1) {
                    finish();
                    return false;
                } else {
                    currentPage--;
                }
                break;
            default:
                break;
        }
    }
    return super.dispatchKeyEvent(event);
}
 
private void submit(String spell) {
    String input = mEt_Spelling.getText().toString().trim();
    if (input.length() == 0) {
        Toast.makeText(mContext, "Please enter the spelling",
                Toast.LENGTH_SHORT).show();

    } else {
        mAlert.dismiss();

        String answered = mEt_Spelling.getText().toString().trim();
        db.markAnswered(Integer.parseInt(spell), answered);

        Bundle arguments = new Bundle();
        arguments.putString(Intent.EXTRA_TEXT, String.valueOf(spell));

        Fragment frag = ResponseFragment.newInstance();
        frag.setArguments(arguments);

        getActivity().getSupportFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
        getActivity().getSupportFragmentManager().beginTransaction().replace(((ViewGroup) getView().getParent()).getId(), frag).addToBackStack(null).commit();

    }
}
 
源代码3 项目: cwac-pager   文件: ArrayPagerAdapter.java
public ArrayPagerAdapter(FragmentManager fragmentManager,
                         List<PageDescriptor> descriptors,
                         RetentionStrategy retentionStrategy) {
  this.fm=fragmentManager;
  this.entries=new ArrayList<PageEntry>();

  for (PageDescriptor desc : descriptors) {
    validatePageDescriptor(desc);

    entries.add(new PageEntry(desc));
  }

  this.retentionStrategy=retentionStrategy;

  if (this.retentionStrategy == null) {
    this.retentionStrategy=KEEP;
  }
}
 
源代码4 项目: maps-app-android   文件: MapsAppActivity.java
/**
 * Opens the content browser that shows the user's maps.
 */
private void showContentBrowser() {
	FragmentManager fragmentManager = getFragmentManager();
	Fragment browseFragment = fragmentManager.findFragmentByTag(ContentBrowserFragment.TAG);
	if (browseFragment == null) {
		browseFragment = new ContentBrowserFragment();
	}

	if (!browseFragment.isVisible()) {
		FragmentTransaction transaction = fragmentManager.beginTransaction();
		transaction.add(R.id.maps_app_activity_content_frame, browseFragment, ContentBrowserFragment.TAG);
		transaction.addToBackStack(null);
		transaction.commit();

		invalidateOptionsMenu(); // reload the options menu
	}

	mDrawerLayout.closeDrawers();
}
 
源代码5 项目: debugkit   文件: DevTool.java
/**
 * Build the tool and show it.
 *
 * @return this to allow chaining.
 */
public Builder build() {
    if (devToolsEnabled) {
        if (mFunctions != null && mFunctions.size() > 0)
            fragment.setFunctionList(mFunctions);

        if (mTextSize != null)
            fragment.setConsoleTextSize(mTextSize);

        fragment.displayAt(startX, starty);

        try {
            FragmentManager fragmentManager = activity.getFragmentManager();
            fragmentManager.beginTransaction()
                    .add(android.R.id.content, fragment)
                    .commit();
        } catch (Exception exception) {
            exception.printStackTrace();
        }

        fragment.setTheme(mTheme);
    }
    return this;
}
 
源代码6 项目: ShoppingList   文件: ShoppingListFragment.java
@Override
    public void onError(ResponseHelper error) {
//        if(error.getType() == CONSTS.APP_ERROR_IO) {
//            getList();
//            return;
//        }

        resetRefreshing();
        ErrorFragment errFR;
        Bundle args = new Bundle();
        args.putString("error_code", error.getContent());
        errFR = new ErrorFragment();
        errFR.setArguments(args);
        FragmentManager fragmentManager = getFragmentManager();
        FragmentTransaction transaction = fragmentManager.beginTransaction();
        transaction.replace(R.id.fragment_container, errFR);
        transaction.addToBackStack(null);
        transaction.commitAllowingStateLoss();
    }
 
源代码7 项目: droid-stealth   文件: DirectoryChooserActivity.java
@Override
public void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	setupActionBar();

	setContentView(R.layout.directory_chooser_activity);

	final String newDirName = getIntent().getStringExtra(EXTRA_NEW_DIR_NAME);
	final String initialDir = getIntent().getStringExtra(EXTRA_INITIAL_DIRECTORY);

	if (newDirName == null) {
		throw new IllegalArgumentException(
				"You must provide EXTRA_NEW_DIR_NAME when starting the DirectoryChooserActivity.");
	}

	if (savedInstanceState == null) {
		final FragmentManager fragmentManager = getFragmentManager();
		final DirectoryChooserFragment fragment = DirectoryChooserFragment.newInstance(newDirName, initialDir);
		fragmentManager.beginTransaction()
				.add(R.id.main, fragment)
				.commit();
	}
}
 
源代码8 项目: WearViewStub   文件: ElementGridPagerAdapter.java
public ElementGridPagerAdapter(List<Element> elements, FragmentManager fm) {
    super(fm);

    this.mRows = new ArrayList<>();
    this.mElement = elements;

    //Construit le tableau des éléménts à afficher
    for (Element element : elements) {
        mRows.add(new Row(
                        //pour l'instant nous ne mettrons qu'un élément par ligne
                        createElementFragment(),
                        CardFragment.create(element.getTitre(), element.getTexte()),
                        createActionFragment(),
                        createActionFragment()
                )
        );
    }
}
 
源代码9 项目: moviedb-android   文件: TVDetailsTest.java
/**
 * Adds the fragment to a new blank activity, thereby fully
 * initializing its view.
 */
@Before
public void setUp() {
    tvDetailsFragment = new TVDetails();
    activity = Robolectric.buildActivity(MainActivity.class).create().get();
    FragmentManager manager = activity.getFragmentManager();
    Bundle bundle = new Bundle();
    bundle.putInt("id", 1);
    tvDetailsFragment.setArguments(bundle);
    manager.beginTransaction().add(tvDetailsFragment, FRAGMENT_TAG).commit();

    tvDetailsFragmentView = tvDetailsFragment.getView();
    moreIcon = (CircledImageView) tvDetailsFragmentView.findViewById(R.id.moreIcon);
    homeIcon = (CircledImageView) tvDetailsFragmentView.findViewById(R.id.homeIcon);
    galleryIcon = (CircledImageView) tvDetailsFragmentView.findViewById(R.id.galleryIcon);
}
 
源代码10 项目: moviedb-android   文件: GenresList.java
/**
 * Callback method to be invoked when an item in this AdapterView has been clicked.
 *
 * @param parent   The AdapterView where the click happened.
 * @param view     The view within the AdapterView that was clicked (this will be a view provided by the adapter)
 * @param position The position of the view in the adapter.
 * @param id       The row id of the item that was clicked.
 */
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
                        long id) {
    if (movieList.getCurrentList().equals("genre/" + genresList.get(position).getId() + "/movies"))
        movieList.setBackState(1);
    else {
        movieList.setCurrentList("genre/" + genresList.get(position).getId() + "/movies");
        movieList.setBackState(0);
    }
    movieList.setTitle(genresList.get(position).getName());
    FragmentManager manager = getFragmentManager();
    FragmentTransaction transaction = manager.beginTransaction();
    Bundle args = new Bundle();
    args.putString("currentList", "genresList");
    movieList.setArguments(args);
    transaction.replace(R.id.frame_container, movieList);
    // add the current transaction to the back stack:
    transaction.addToBackStack("genresList");
    transaction.commit();
    backState = 1;
}
 
private void selectItem(int position) {
	// update the main content by replacing fragments
	Fragment fragment = new AnimalFragment();
	Bundle args = new Bundle();
	args.putInt(AnimalFragment.ARG_ANIMAL_NUMBER, position);
	fragment.setArguments(args);

	FragmentManager fragmentManager = getFragmentManager();
	fragmentManager.beginTransaction()
			.replace(R.id.content_frame, fragment).commit();

	// update selected item and title, then close the drawer
	mDrawerList.setItemChecked(position, true);
	setTitle(mAnimalTitles[position]);
	mDrawerLayout.closeDrawer(mDrawerList);
}
 
源代码12 项目: yandex-money-sdk-android   文件: PaymentActivity.java
private void replaceFragment(@Nullable Fragment fragment, boolean clearBackStack) {
    if (fragment == null || isStateSaved) {
        return;
    }

    Fragment currentFragment = getCurrentFragment();
    FragmentManager manager = getFragmentManager();
    if (clearBackStack) {
        manager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
    }

    @SuppressLint("CommitTransaction")
    FragmentTransaction transaction = manager.beginTransaction()
            .replace(R.id.ym_container, fragment);
    if (!clearBackStack && currentFragment != null) {
        transaction.addToBackStack(fragment.getTag());
    }
    transaction.commit();
    hideKeyboard();
}
 
private boolean stopCamera(CallbackContext callbackContext) {
  if(webViewParent != null) {
    cordova.getActivity().runOnUiThread(new Runnable() {
      @Override
      public void run() {
        ((ViewGroup)webView.getView()).bringToFront();
        webViewParent = null;
      }
    });
  }

  if(this.hasView(callbackContext) == false){
    return true;
  }

  FragmentManager fragmentManager = cordova.getActivity().getFragmentManager();
  FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
  fragmentTransaction.remove(fragment);
  fragmentTransaction.commit();
  fragment = null;

  callbackContext.success();
  return true;
}
 
源代码14 项目: HtmlDialog   文件: HtmlDialog.java
/**
 * The sole constructor for {@code HtmlDialog}.
 *
 * @param fm  The {@code FragmentManager} from the calling activity that is used
 *            internally to show the {@code DialogFragment}.
 */
public HtmlDialog(FragmentManager fm)
{
    // See if there are any DialogFragments from the FragmentManager
    FragmentTransaction ft = fm.beginTransaction();
    Fragment prev = fm.findFragmentByTag(HtmlDialogFragment.TAG_HTML_DIALOG_FRAGMENT);

    // Remove if found
    if (prev != null)
    {
        ft.remove(prev);
        ft.commit();
    }

    mFragmentManager = fm;
}
 
源代码15 项目: Ouroboros   文件: ThreadActivity.java
public void doPositiveClickInternal(String threadNo, String boardName) {
    FragmentManager fragmentManager = getFragmentManager();
    FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();

    //clear dialog fragments
    fragmentManager.popBackStack("threadDialog", FragmentManager.POP_BACK_STACK_INCLUSIVE);
    if (!threadNo.equals("0")){
        threadDepth = threadDepth + 1;
        threadFragment = new ThreadFragment().newInstance(threadNo, boardName);
        fragmentTransaction.replace(R.id.placeholder_card, threadFragment)
                .addToBackStack("threadDepth" + String.valueOf(threadDepth))
                .commit();
    } else {
        Intent intent = new Intent(this, CatalogActivity.class);
        intent.putExtra(Util.INTENT_BOARD_NAME, boardName);
        startActivity(intent);

    }

}
 
源代码16 项目: SimpleExplorer   文件: AbstractBrowserFragment.java
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    final AbstractBrowserActivity activity = (AbstractBrowserActivity) getActivity();
    final FragmentManager fm = getFragmentManager();

    switch (item.getItemId()) {
        case R.id.folderinfo:
            final DialogFragment dirInfo = new DirectoryInfoDialog();
            dirInfo.show(fm, AbstractBrowserActivity.TAG_DIALOG);
            return true;
        case R.id.search:
            Intent sintent = new Intent(activity, SearchActivity.class);
            startActivity(sintent);
            return true;
        case R.id.paste:
            final PasteTaskExecutor ptc = new PasteTaskExecutor(activity, mCurrentPath);
            ptc.start();
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}
 
源代码17 项目: FireFiles   文件: ServerFragment.java
public static void show(FragmentManager fm, RootInfo root) {
    final ServerFragment fragment = new ServerFragment();
    final Bundle args = new Bundle();
    args.putParcelable(EXTRA_ROOT, root);
    fragment.setArguments(args);
    final FragmentTransaction ft = fm.beginTransaction();
    ft.replace(R.id.container_directory, fragment);
    ft.commitAllowingStateLoss();
}
 
源代码18 项目: AcDisplay   文件: SubBlacklistActivity.java
private boolean popFragment() {
    FragmentManager fm = getFragmentManager();
    if (fm.getBackStackEntryCount() > 0) {
        fm.popBackStack();
        return true;
    }
    return false;
}
 
源代码19 项目: webrtc_android   文件: Permissions.java
@RequiresApi(M)
public static void request2(Activity activity, String permission, Consumer<Integer> callback) {
    final FragmentManager fm = activity.getFragmentManager();
    if (!has(activity, permission)) {
        fm.beginTransaction().add(new PermissionRequestFragment(new String[]{permission}, callback), null).commitAllowingStateLoss();
    } else {
        callback.accept(PERMISSION_GRANTED);
    }
}
 
源代码20 项目: glass_snippets   文件: VoiceMenuEss.java
@Override
    public void onHotwordDetected() {
        FragmentManager fm = activity.getFragmentManager();
        mVoiceMenu = VoiceMenuDialogFragment.getInstance(fm,mHotword,null,mPhrases);
        mVoiceMenu.show(fm, VoiceMenuDialogFragment.FRAGMENT_TAG);
//        mVoiceDetection.changePhrases(mPhrases);

        mListener.onHotwordDetected();
    }
 
源代码21 项目: FireFiles   文件: StandaloneActivity.java
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
    super.onPrepareOptionsMenu(menu);
    final FragmentManager fm = getFragmentManager();
    final RootInfo root = getCurrentRoot();
    final DocumentInfo cwd = getCurrentDirectory();
    final MenuItem createDir = menu.findItem(R.id.menu_create_dir);
    final MenuItem search = menu.findItem(R.id.menu_search);
    final MenuItem sort = menu.findItem(R.id.menu_sort);
    final MenuItem sortSize = menu.findItem(R.id.menu_sort_size);
    final MenuItem grid = menu.findItem(R.id.menu_grid);
    final MenuItem list = menu.findItem(R.id.menu_list);
    sort.setVisible(cwd != null);
    grid.setVisible(mState.derivedMode != State.MODE_GRID);
    list.setVisible(mState.derivedMode != State.MODE_LIST);
    if (mState.currentSearch != null) {
        // Search uses backend ranking; no sorting
        sort.setVisible(false);
        search.expandActionView();
        mSearchView.setIconified(false);
        mSearchView.clearFocus();
        mSearchView.setQuery(mState.currentSearch, false);
    } else {
        mIgnoreNextClose = true;
        mSearchView.setIconified(true);
        mSearchView.clearFocus();
        mIgnoreNextCollapse = true;
        search.collapseActionView();
    }
    // Only sort by size when visible
    sortSize.setVisible(mState.showSize);
    search.setVisible(true);
    createDir.setVisible(true);
    return true;
}
 
源代码22 项目: Snake   文件: FragmentManagerHelper.java
public androidx.fragment.app.Fragment getLastAndroidXFragment(androidx.fragment.app.FragmentManager fragmentManager) {
    if (null == fragmentManager) return null;

    int backStackCount = fragmentManager.getBackStackEntryCount();
    if (backStackCount <= 0) return null;

    androidx.fragment.app.FragmentManager.BackStackEntry backStackEntry = fragmentManager.getBackStackEntryAt(backStackCount - 1);
    String fragmentTag = backStackEntry.getName();
    return fragmentManager.findFragmentByTag(fragmentTag);
}
 
源代码23 项目: AvoidOnResult   文件: AvoidOnResult.java
private AvoidOnResultFragment getAvoidOnResultFragment(Activity activity) {
    AvoidOnResultFragment avoidOnResultFragment = findAvoidOnResultFragment(activity);
    if (avoidOnResultFragment == null) {
        avoidOnResultFragment = new AvoidOnResultFragment();
        FragmentManager fragmentManager = activity.getFragmentManager();
        fragmentManager
                .beginTransaction()
                .add(avoidOnResultFragment, TAG)
                .commitAllowingStateLoss();
        fragmentManager.executePendingTransactions();
    }
    return avoidOnResultFragment;
}
 
源代码24 项目: FireFiles   文件: ServerFragment.java
public static void show(FragmentManager fm, RootInfo root) {
    final ServerFragment fragment = new ServerFragment();
    final Bundle args = new Bundle();
    args.putParcelable(EXTRA_ROOT, root);
    fragment.setArguments(args);
    final FragmentTransaction ft = fm.beginTransaction();
    ft.replace(R.id.container_directory, fragment);
    ft.commitAllowingStateLoss();
}
 
源代码25 项目: RateMyApp   文件: ShowDialogAction.java
@Override
public void execute(Context context, FragmentManager fragmentManager){
    try {
        AbstractDialogFragment dialogFragment = fragmentDialogClass.newInstance();
        dialogFragment.setActualListener(actualListener);
        dialogFragment.show(fragmentManager, tag);
    } catch (Exception e) { }
}
 
源代码26 项目: Pix-Art-Messenger   文件: ConversationFragment.java
public static ConversationFragment get(Activity activity) {
    FragmentManager fragmentManager = activity.getFragmentManager();
    Fragment fragment = fragmentManager.findFragmentById(R.id.main_fragment);
    if (fragment != null && fragment instanceof ConversationFragment) {
        return (ConversationFragment) fragment;
    } else {
        fragment = fragmentManager.findFragmentById(R.id.secondary_fragment);
        return fragment != null && fragment instanceof ConversationFragment ? (ConversationFragment) fragment : null;
    }
}
 
源代码27 项目: chromium-webview-samples   文件: MainActivity.java
@Override
public void onNavigationDrawerItemSelected(int position) {
    // update the main content by replacing fragments
    FragmentManager fragmentManager = getFragmentManager();
    fragmentManager.beginTransaction()
            .replace(R.id.container, PlaceholderFragment.newInstance(position + 1))
            .commit();
}
 
源代码28 项目: deagle   文件: Permissions.java
/** @param callback will be called if request is not canceled, with either {@link PackageManager#PERMISSION_GRANTED} or {@link PackageManager#PERMISSION_DENIED} */
@RequiresApi(M) public static void request(final Activity activity, final String permission, final Consumer<Integer> callback) {
	final FragmentManager fm = activity.getFragmentManager();
	if (! has(activity, permission))
		fm.beginTransaction().add(new PermissionRequestFragment(permission, callback), null).commitAllowingStateLoss();
	else callback.accept(PackageManager.PERMISSION_GRANTED);
}
 
源代码29 项目: writeily-pro   文件: MainActivity.java
private void showFolderNameDialog() {
    FragmentManager fragManager = getFragmentManager();

    Bundle args = new Bundle();
    args.putString(Constants.CURRENT_DIRECTORY_DIALOG_KEY, notesFragment.getCurrentDir().getAbsolutePath());

    CreateFolderDialog createFolderDialog = new CreateFolderDialog();
    createFolderDialog.setArguments(args);
    createFolderDialog.show(fragManager, Constants.CREATE_FOLDER_DIALOG_TAG);
}
 
源代码30 项目: Document-Scanner   文件: SettingsActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_settings);
    DocumentScannerApplication.getInstance().trackScreenView("Settings");
    FragmentManager fm=getFragmentManager();
    FragmentTransaction ft=fm.beginTransaction();

    sf=new SettingsFragment();
    ft.replace(android.R.id.content, sf);
    ft.commit();
}
 
 类所在包
 同包方法