类android.support.v4.app.FragmentManager源码实例Demo

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

源代码1 项目: likequanmintv   文件: ColumnListActivity.java
private void initView() {
    title=(TextView)findViewById(R.id.title);
    ivBack =(ImageView)findViewById(R.id.imgBack);
    ivBack.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            onBackPressed();
        }
    });
    content=(FrameLayout)findViewById(R.id.content);

    ItemColumn itemColumn= (ItemColumn) getIntent().getSerializableExtra("itemColumn");
    title.setText(""+itemColumn.name);
    FragmentManager fm = getSupportFragmentManager();
    FragmentTransaction ts = fm.beginTransaction();
    Bundle bundle=new Bundle();
    String mUrl="json/categories/"+itemColumn.slug+"/list.json";
    bundle.putString("url",mUrl);
    bundle.putString("tag",itemColumn.name);
    if (itemColumn.slug.equals("love")){
        ts.replace(R.id.content, LoveLiveListFragment.newInstance(bundle));
    }else {
        ts.replace(R.id.content, BaseLiveWraperFragment.newInstance(bundle));
    }
    ts.commit();
}
 
源代码2 项目: Navigator   文件: NavigatorUtils.java
/**
 * @param tag             point to return
 * @param container       id container
 * @param fragmentManager variable contain fragment stack
 * @return true if is possible return to tag param
 */
public boolean canGoBackToSpecificPoint(String tag, int container, FragmentManager fragmentManager) {
    if (TextUtils.isEmpty(tag)) {
        return (fragmentManager.getBackStackEntryCount() > 1);
    } else {
        List<FragmentManager.BackStackEntry> fragmentList = fragmentList();
        Fragment fragment = fragmentManager.findFragmentById(container);
        if (fragment != null && tag.equalsIgnoreCase(fragment.getTag())) {
            return false;
        }
        for (int i = 0; i < fragmentList.size(); i++) {
            if (tag.equalsIgnoreCase(fragmentList.get(i).getName())) {
                return true;
            }
        }
        return false;
    }
}
 
@Override
public void openDialog() {
    if (mAndroidMediaRouter == null) {
        mDelegate.onDialogCancelled();
        return;
    }

    FragmentActivity currentActivity =
            (FragmentActivity) ApplicationStatus.getLastTrackedFocusedActivity();
    if (currentActivity == null)  {
        mDelegate.onDialogCancelled();
        return;
    }

    FragmentManager fm = currentActivity.getSupportFragmentManager();
    if (fm == null)  {
        mDelegate.onDialogCancelled();
        return;
    }

    mDialogFragment = openDialogInternal(fm);
    if (mDialogFragment == null)  {
        mDelegate.onDialogCancelled();
        return;
    }
}
 
源代码4 项目: Pasta-Music   文件: FavoritePagerAdapter.java
public FavoritePagerAdapter(Activity activity, FragmentManager manager) {
    super(manager);
    this.activity = activity;
    pasta = (Pasta) activity.getApplicationContext();

    Bundle args = new Bundle();
    args.putBoolean("favorite", true);

    playlistFragment = new OmniFragment();
    playlistFragment.setArguments(args);

    albumFragment = new OmniFragment();
    albumFragment.setArguments(args);

    trackFragment = new OmniFragment();
    trackFragment.setArguments(args);

    artistFragment = new OmniFragment();
    artistFragment.setArguments(args);

    load();
}
 
源代码5 项目: Overchan-Android   文件: TabsSwitcher.java
/**
 * Переключиться на скрытую (такие как "Новая вкладка", "Избранное", "История") вкладку
 * @param virtualPosition виртуальная позиция вкладки
 * (см. {@link TabModel#POSITION_NEWTAB}, {@link TabModel#POSITION_FAVORITES}, {@link TabModel#POSITION_HISTORY})
 * @param fragmentManager менеджер фрагментов
 */
public void switchTo(int virtualPosition, FragmentManager fragmentManager) {
    if (currentId != null && currentId.equals(Long.valueOf(virtualPosition))) return;
    Fragment newFragment = null;
    switch (virtualPosition) {
        case TabModel.POSITION_NEWTAB:
            newFragment = new NewTabFragment();
            break;
        case TabModel.POSITION_HISTORY:
            newFragment = new HistoryFragment();
            break;
        case TabModel.POSITION_FAVORITES:
            newFragment = new FavoritesFragment();
            break;
        default:
            newFragment = new NewTabFragment();
    }
    currentFragment = newFragment;
    currentId = (long) virtualPosition;
    replace(fragmentManager, newFragment);
}
 
源代码6 项目: AndroidSamples   文件: RecyclerActivity.java
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_recycler);

    FragmentManager fm = getSupportFragmentManager();
    Fragment fragment = fm.findFragmentById(R.id.fragment_container);

    if (fragment == null) {
        fragment = new RecyFragment();
        fm.beginTransaction()
                .add(R.id.fragment_container, fragment)
                .commit();
    }

}
 
源代码7 项目: example   文件: FragmentNavigationDrawer.java
/**
 * Swaps fragments in the main content view
 */
public void selectDrawerItem(int position) {
    // Create a new fragment and specify the planet to show based on
    // position
    FragmentNavItem navItem = drawerNavItems.get(position);
    Fragment fragment = null;
    try {
        fragment = navItem.getFragmentClass().newInstance();
        Bundle args = navItem.getFragmentArgs();
        if (args != null) {
            fragment.setArguments(args);
        }
    } catch (Exception e) {
        e.printStackTrace();
    }

    // Insert the fragment by replacing any existing fragment
    FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
    fragmentManager.beginTransaction().replace(drawerContainerRes, fragment).commit();

    // Highlight the selected item, update the title, and close the drawer
    lvDrawer.setItemChecked(position, true);
    setTitle(navItem.getTitle());
    closeDrawer(lvDrawer);
}
 
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.fragment_authorised_area_1, container, false);

    ClickMe = (Button) rootView.findViewById(R.id.button);
    ClickMe.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
        mEdit = (EditText) getView().findViewById(R.id.editText_password);
        if(auth(sha1Hash(mEdit.getText().toString()))) {
            FragmentManager fm = getFragmentManager();
            AuthorisedArea_2 f = new AuthorisedArea_2();
            fm.beginTransaction().replace(R.id.main_content,f).commit();
        }
        }
    });
    return rootView;
}
 
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
    if (item.getItemId() == R.id.action_rearrange) {

        if (mCurrentLayoutManagerType == GRID_LAYOUT_MANAGER) {
            setRecyclerViewLayoutManager(LINEAR_LAYOUT_MANAGER);
            item.setIcon(R.drawable.ic_view_stream_black_24dp);
        } else {//if mCurrentLayoutManagerType == LINEAR_LAYOUT_MANAGER
            setRecyclerViewLayoutManager(GRID_LAYOUT_MANAGER);
            item.setIcon(R.drawable.ic_view_module_black_24dp);
        }

        return true;
    } else if (item.getItemId() == R.id.action_sort) {
        SortListDialogFragment sortListDialogFragment = SortListDialogFragment.newInstance(R.array.author_list_sorting, mCurrentSortIndex);
        //see this answer http://stackoverflow.com/a/37794319/3061221
        FragmentManager fm = getChildFragmentManager();
        sortListDialogFragment.show(fm, "fragment_sort");
        return true;

    } else return super.onOptionsItemSelected(item);
}
 
源代码10 项目: 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;
  }
}
 
源代码11 项目: 365browser   文件: RemoteMediaPlayerController.java
private void showMediaRouteDialog(MediaStateListener player, MediaRouteController controller,
        Activity activity) {

    FragmentManager fm = ((FragmentActivity) activity).getSupportFragmentManager();
    if (fm == null) {
        throw new IllegalStateException("The activity must be a subclass of FragmentActivity");
    }

    MediaRouteDialogFactory factory = new MediaRouteChooserDialogFactory(player, controller,
            activity);

    if (fm.findFragmentByTag(
            "android.support.v7.mediarouter:MediaRouteChooserDialogFragment") != null) {
        Log.w(TAG, "showDialog(): Route chooser dialog already showing!");
        return;
    }
    MediaRouteChooserDialogFragment f = factory.onCreateChooserDialogFragment();

    f.setRouteSelector(controller.buildMediaRouteSelector());
    f.show(fm, "android.support.v7.mediarouter:MediaRouteChooserDialogFragment");
}
 
源代码12 项目: KUtils-master   文件: ErrorDialogManager.java
public static void attachTo(Activity activity, Object executionScope, boolean finishAfterDialog, Bundle argumentsForErrorDialog) {
    android.app.FragmentManager fm = activity.getFragmentManager();
    HoneycombManagerFragment fragment = (HoneycombManagerFragment) fm
            .findFragmentByTag(TAG_ERROR_DIALOG_MANAGER);
    if (fragment == null) {
        fragment = new HoneycombManagerFragment();
        fm.beginTransaction().add(fragment, TAG_ERROR_DIALOG_MANAGER).commit();
        fm.executePendingTransactions();
    }
    fragment.finishAfterDialog = finishAfterDialog;
    fragment.argumentsForErrorDialog = argumentsForErrorDialog;
    fragment.executionScope = executionScope;
}
 
源代码13 项目: xmpp   文件: ShowMessageActivity.java
private void initialView() {
    FragmentManager manager = this.getSupportFragmentManager();
    if (manager != null) {
        adapter = new Adapter(manager);
        viewpager.setAdapter(adapter);
        layoutTab.setupWithViewPager(viewpager);
        layoutTab.setTabMode(TabLayout.MODE_FIXED);

    }

}
 
源代码14 项目: FastAccess   文件: MainPresenter.java
@SuppressWarnings("ConstantConditions")
@Override public void onModuleChanged(@NonNull FragmentManager fragmentManager, @MainMvp.NavigationType int type) {
    Fragment currentVisible = getVisibleFragment(fragmentManager);
    DeviceAppsView deviceAppsView = (DeviceAppsView) getFragmentByTag(fragmentManager, DeviceAppsView.TAG);
    FoldersView foldersView = (FoldersView) getFragmentByTag(fragmentManager, FoldersView.TAG);
    SelectedAppsView selectedAppsView = (SelectedAppsView) getFragmentByTag(fragmentManager, SelectedAppsView.TAG);
    switch (type) {
        case MainMvp.DEVICE_APPS:
            if (deviceAppsView == null) {
                onAddAndHide(fragmentManager, DeviceAppsView.newInstance(), currentVisible);
            } else {
                onShowHideFragment(fragmentManager, deviceAppsView, currentVisible);
            }
            break;
        case MainMvp.FOLDERS:
            if (foldersView == null) {
                onAddAndHide(fragmentManager, FoldersView.newInstance(), currentVisible);
            } else {
                onShowHideFragment(fragmentManager, foldersView, currentVisible);
            }
            break;
        case MainMvp.SELECTED_APPS:
            if (selectedAppsView == null) {
                onAddAndHide(fragmentManager, SelectedAppsView.newInstance(), currentVisible);
            } else {
                onShowHideFragment(fragmentManager, selectedAppsView, currentVisible);
            }
            break;
    }
}
 
源代码15 项目: candybar-library   文件: LanguagesFragment.java
public static void showLanguageChooser(@NonNull FragmentManager fm) {
    FragmentTransaction ft = fm.beginTransaction();
    Fragment prev = fm.findFragmentByTag(TAG);
    if (prev != null) {
        ft.remove(prev);
    }

    try {
        DialogFragment dialog = LanguagesFragment.newInstance();
        dialog.show(ft, TAG);
    } catch (IllegalArgumentException | IllegalStateException ignored) {}
}
 
源代码16 项目: aware   文件: MainActivity.java
@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
    // Handle navigation view item clicks here.
    int id = item.getItemId();

    FragmentManager fm = getSupportFragmentManager();
    for(int i = 0; i < fm.getBackStackEntryCount(); ++i) {
        fm.popBackStack();
    }

    Fragment fragment;
    FragmentManager fragmentManager = getSupportFragmentManager();
    fragment = new Home();

    if (id == R.id.nav_home) {
        setTitle("Home");
        fragment = new Home();

    } else if (id == R.id.nav_news) {
        setTitle("News");
        fragment = new News();

    } else if (id == R.id.nav_maps) {
        setTitle("Maps");
        fragment = new Maps();

    } else if (id == R.id.nav_bulettin) {
        setTitle("Bulletin Board");
        fragment = new Bulletin();

    }

    fragmentManager.beginTransaction().replace(R.id.inc, fragment).commit();

    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
    drawer.closeDrawer(GravityCompat.START);
    return true;
}
 
源代码17 项目: Androzic   文件: MainActivity.java
@Override
public void onRouteNavigate(Route route)
{
       FragmentManager fm = getSupportFragmentManager();
       RouteStart routeStartDialog = new RouteStart(route);
       routeStartDialog.show(fm, "route_start");
}
 
源代码18 项目: tysq-android   文件: FragmentCompat.java
private static void start(FragmentManager fragmentManager, int containerId, Fragment from, Fragment to) {
    String toName = to.getClass().getName();
    FragmentTransaction ft = fragmentManager.beginTransaction();

    if (from == null) {
        ft.add(containerId, to, toName);
    } else {
        ft.add(containerId, to, toName);
        ft.hide(from);
    }

    //添加至回退站
    ft.addToBackStack(toName);
    ft.commit();
}
 
源代码19 项目: V.FlyoutTest   文件: FragmentHideShowSupport.java
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.fragment_hide_show_support);

    // The content view embeds two fragments; now retrieve them and attach
    // their "hide" button.
    FragmentManager fm = getSupportFragmentManager();
    addShowHideListener(R.id.frag1hide, fm.findFragmentById(R.id.fragment1));
    addShowHideListener(R.id.frag2hide, fm.findFragmentById(R.id.fragment2));
}
 
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(getLayoutResId());

    FragmentManager fm = getSupportFragmentManager();
    Fragment fragment = fm.findFragmentById(R.id.fragment_container);

    if (fragment == null) {
        fragment = createFragment();
        fm.beginTransaction()
                .add(R.id.fragment_container, fragment)
                .commit();
    }
}
 
源代码21 项目: android-mvp-architecture   文件: BaseDialog.java
public void show(FragmentManager fragmentManager, String tag) {
    FragmentTransaction transaction = fragmentManager.beginTransaction();
    Fragment prevFragment = fragmentManager.findFragmentByTag(tag);
    if (prevFragment != null) {
        transaction.remove(prevFragment);
    }
    transaction.addToBackStack(null);
    show(transaction, tag);
}
 
源代码22 项目: Slide   文件: DoEditorActions.java
public static void doDraw(final Activity a, final EditText editText, final FragmentManager fm) {
    final Intent intent = new Intent(a, Draw.class);
    InputMethodManager imm = (InputMethodManager) editText.getContext()
            .getSystemService(Context.INPUT_METHOD_SERVICE);
    imm.hideSoftInputFromWindow(editText.getWindowToken(), 0);
    e = editText.getText();
    TedBottomPicker tedBottomPicker =
            new TedBottomPicker.Builder(editText.getContext()).setOnImageSelectedListener(
                    new TedBottomPicker.OnImageSelectedListener() {
                        @Override
                        public void onImageSelected(List<Uri> uri) {
                            Draw.uri = uri.get(0);
                            Fragment auxiliary = new AuxiliaryFragment();

                            sStart = editText.getSelectionStart();
                            sEnd = editText.getSelectionEnd();

                            fm.beginTransaction().add(auxiliary, "IMAGE_UPLOAD").commit();
                            fm.executePendingTransactions();

                            auxiliary.startActivityForResult(intent, 3333);
                        }
                    })
                    .setLayoutResource(R.layout.image_sheet_dialog)
                    .setTitle("Choose a photo")
                    .create();

    tedBottomPicker.show(fm);
}
 
源代码23 项目: talk-android   文件: CallInFragment.java
@Subscribe
public void onPhoneListener(PhoneEvent event) {
    if (getActivity() != null) {
        try {
            FragmentManager fm = getActivity().getSupportFragmentManager();
            Field stateSaved = fm.getClass().getDeclaredField("mStateSaved");
            stateSaved.setAccessible(true);
            stateSaved.set(fm, false);
            //getActivity().getSupportFragmentManager().popBackStack();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
 
源代码24 项目: MongoExplorer   文件: SinglePaneActivity.java
@Override
public void onBackPressed() {
	FragmentManager fm = getSupportFragmentManager();

	if (fm.getBackStackEntryCount() > 0) {
		fm.popBackStack();
		return;
	}

	super.onBackPressed();
}
 
源代码25 项目: android-galaxyzoo   文件: ClassifyFragment.java
public void update() {
    final Activity activity = getActivity();
    if (activity == null)
        return;


    if (TextUtils.equals(getItemId(), ItemsContentProvider.URI_PART_ITEM_ID_NEXT)) {
        /*
         * Initializes the CursorLoader. The LOADER_ID_NEXT_ID value is eventually passed
         * to onCreateLoader().
         * We use restartLoader(), instead of initLoader(),
         * so we can refresh this fragment to show a different subject,
         * even when using the same query ("next") to do that.
         *
         * However, we don't start another "next" request when one is already in progress,
         * because then we would waste the first one and slow both down.
         * This can happen during resume.
         */
        if(!mGetNextInProgress) {
            mGetNextInProgress = true;

            //Don't stay inverted after a previous classification.
            final FragmentManager fragmentManager = getChildFragmentManager();
            final SubjectFragment fragmentSubject = (SubjectFragment) fragmentManager.findFragmentById(R.id.child_fragment_subject);
            if (fragmentSubject != null) {
                fragmentSubject.setInverted(false);
            }

            //Get the actual ID and other details:
            getLoaderManager().restartLoader(LOADER_ID_NEXT_ID, null, getNextIdLoader);
        }
    } else {
        //Add, or update, the child fragments already, because we know the Item IDs:
        addOrUpdateChildFragments();
    }
}
 
源代码26 项目: YImagePicker   文件: PLauncher.java
private PRouterV4 getRouterFragmentV4(FragmentActivity activity) {
    PRouterV4 routerFragment = findRouterFragmentV4(activity);
    if (routerFragment == null) {
        routerFragment = PRouterV4.newInstance();
        FragmentManager fragmentManager = activity.getSupportFragmentManager();
        fragmentManager
                .beginTransaction()
                .add(routerFragment, TAG)
                .commitAllowingStateLoss();
        fragmentManager.executePendingTransactions();
    }
    return routerFragment;
}
 
源代码27 项目: RhymeMusic   文件: OptionDialogFragment.java
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{

    switch ( position )
    {
        case PLAY_MODE:
            MusicApplication application =
                    (MusicApplication) getActivity().getApplication();
            MusicService.MusicBinder musicBinder = application.getMusicBinder();

            musicBinder.changePlayMode();
            break;

        case AUTO_STOP:
            getDialog().dismiss(); // 关闭父对话框

            DialogFragment dialogFragment = new ASDialogFragment();
            FragmentManager manager = getFragmentManager();
            dialogFragment.show(manager, "dialog auto stop");
            break;

        case AUDIO_INFO:
            getDialog().dismiss(); // 关闭父对话框

            DialogFragment dialogFragment1 = new AIDialogFragment();
            FragmentManager manager1 = getFragmentManager();
            dialogFragment1.show(manager1, "dialog audio info");
            break;

        case MORE_INFO:
            getDialog().dismiss(); // 关闭父对话框

            Toast.makeText(getActivity(), "暂未开发", Toast.LENGTH_SHORT).show();
            break;

        default:
            break;
    }
}
 
源代码28 项目: Rumble   文件: ContactDetailPagerAdapter.java
public ContactDetailPagerAdapter(FragmentManager fm, Bundle args) {
    super(fm);
    infoFragment = new FragmentContactInfo();
    infoFragment.setArguments(args);

    statusFragment  = new FragmentStatusList();
    args.putBoolean("noCoordinatorLayout",true);
    statusFragment.setArguments(args);
}
 
源代码29 项目: KernelAdiutor   文件: ProfileActivity.java
public Fragment getFragment(int res, Class<? extends Fragment> fragmentClass) {
    FragmentManager fragmentManager = getSupportFragmentManager();
    Fragment fragment = fragmentManager.findFragmentByTag(res + "_key");
    if (fragment == null) {
        fragment = Fragment.instantiate(this, fragmentClass.getCanonicalName());
    }
    return fragment;
}
 
源代码30 项目: example   文件: HomeFragmentAdapter.java
public HomeFragmentAdapter(Context context, FragmentManager fm,
    List<FragmentHomeItem> fragmentHomeItems) {
  super(fm);
  this.context = context;
  this.fragmentHomeItems = fragmentHomeItems;
}
 
 类所在包