android.support.v4.app.Fragment#getFragmentManager ( )源码实例Demo

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

源代码1 项目: styT   文件: FragmentUtils.java
/**
 * 获取目标fragment的前一个fragment
 *
 * @param destFragment 目标fragment
 * @return 目标fragment的前一个fragment
 */
public static Fragment getPreFragment(@NonNull final Fragment destFragment) {
    FragmentManager fragmentManager = destFragment.getFragmentManager();
    if (fragmentManager == null) return null;
    List<Fragment> fragments = getFragments(fragmentManager);
    boolean flag = false;
    for (int i = fragments.size() - 1; i >= 0; --i) {
        Fragment fragment = fragments.get(i);
        if (flag && fragment != null) {
            return fragment;
        }
        if (fragment == destFragment) {
            flag = true;
        }
    }
    return null;
}
 
源代码2 项目: java-n-IDE-for-Android   文件: FragmentsAdapter.java
@Override
public void setPrimaryItem(ViewGroup container, int position, Object object) {
    Fragment fragment = (Fragment)object;
    if (fragment != mCurrentPrimaryItem) {
        if (mCurrentPrimaryItem != null) {
            mCurrentPrimaryItem.setMenuVisibility(false);
            mCurrentPrimaryItem.setUserVisibleHint(false);
        }
        if (fragment != null) {
            fragment.setMenuVisibility(true);
            if(fragment.getFragmentManager() == null) {
                Log.v(TAG, "fragment manager == null item #"+position+": f="+object);
            }
            fragment.setUserVisibleHint(true);
        }
        mCurrentPrimaryItem = fragment;
    }
}
 
源代码3 项目: TikTok   文件: FragmentUtils.java
/**
 * 获取目标fragment的前一个fragment
 *
 * @param destFragment 目标fragment
 * @return 目标fragment的前一个fragment
 */
public static Fragment getPreFragment(@NonNull Fragment destFragment) {
    FragmentManager fragmentManager = destFragment.getFragmentManager();
    if (fragmentManager == null)
        return null;
    List<Fragment> fragments = getFragments(fragmentManager);
    boolean flag = false;
    for (int i = fragments.size() - 1; i >= 0; --i) {
        Fragment fragment = fragments.get(i);
        if (flag && fragment != null) {
            return fragment;
        }
        if (fragment == destFragment) {
            flag = true;
        }
    }
    return null;
}
 
源代码4 项目: Android-UtilCode   文件: FragmentUtils.java
/**
 * 获取目标fragment的前一个fragment
 *
 * @param destFragment 目标fragment
 * @return 目标fragment的前一个fragment
 */
public static Fragment getPreFragment(@NonNull Fragment destFragment) {
    FragmentManager fragmentManager = destFragment.getFragmentManager();
    if (fragmentManager == null) return null;
    List<Fragment> fragments = getFragments(fragmentManager);
    boolean flag = false;
    for (int i = fragments.size() - 1; i >= 0; --i) {
        Fragment fragment = fragments.get(i);
        if (flag && fragment != null) {
            return fragment;
        }
        if (fragment == destFragment) {
            flag = true;
        }
    }
    return null;
}
 
源代码5 项目: MVVMArms   文件: FragmentUtils.java
/**
 * 获取目标fragment的前一个fragment
 *
 * @param destFragment 目标fragment
 * @return 目标fragment的前一个fragment
 */
public static Fragment getPreFragment(@NonNull Fragment destFragment) {
    FragmentManager fragmentManager = destFragment.getFragmentManager();
    if (fragmentManager == null) {
        return null;
    }
    List<Fragment> fragments = getFragments(fragmentManager);
    boolean flag = false;
    for (int i = fragments.size() - 1; i >= 0; --i) {
        Fragment fragment = fragments.get(i);
        if (flag && fragment != null) {
            return fragment;
        }
        if (fragment == destFragment) {
            flag = true;
        }
    }
    return null;
}
 
源代码6 项目: AndroidUtilCode   文件: FragmentUtils.java
/**
 * Replace fragment.
 *
 * @param srcFragment    The source of fragment.
 * @param destFragment   The destination of fragment.
 * @param destTag        The destination of fragment's tag.
 * @param isAddStack     True to add fragment in stack, false otherwise.
 * @param sharedElements A View in a disappearing Fragment to match with a View in an
 *                       appearing Fragment.
 */
public static void replace(@NonNull final Fragment srcFragment,
                           @NonNull final Fragment destFragment,
                           final String destTag,
                           final boolean isAddStack,
                           final View... sharedElements) {
    FragmentManager fm = srcFragment.getFragmentManager();
    if (fm == null) return;
    Args args = getArgs(srcFragment);
    replace(fm,
            destFragment,
            args.id,
            destTag,
            isAddStack,
            sharedElements
    );
}
 
源代码7 项目: 920-text-editor-v2   文件: FragmentsAdapter.java
@Override
public void setPrimaryItem(ViewGroup container, int position, Object object) {
    Fragment fragment = (Fragment)object;
    if (fragment != mCurrentPrimaryItem) {
        if (mCurrentPrimaryItem != null) {
            mCurrentPrimaryItem.setMenuVisibility(false);
            mCurrentPrimaryItem.setUserVisibleHint(false);
        }
        if (fragment != null) {
            fragment.setMenuVisibility(true);
            if(fragment.getFragmentManager() == null) {
                Log.v(TAG, "fragment manager == null item #"+position+": f="+object);
            }
            fragment.setUserVisibleHint(true);
        }
        mCurrentPrimaryItem = fragment;
    }
}
 
源代码8 项目: android-task   文件: FragmentIdHelper.java
@SuppressLint("RestrictedApi")
private static String getIndex(Fragment fragment) {
    String index;
    if (fragment.getParentFragment() != null) {
        index = getIndex(fragment.getParentFragment()) + "-";
    } else {
        index = "";
    }

    FragmentManager fragmentManager = fragment.getFragmentManager();
    if (fragmentManager != null) {
        List<Fragment> fragments = fragmentManager.getFragments();
        if (fragments != null && !fragments.isEmpty()) {
            for (int i = 0; i < fragments.size(); i++) {
                if (fragment.equals(fragments.get(i))) {
                    index += i;
                    break;
                }
            }
        }
    }

    return index;
}
 
源代码9 项目: SimpleProject   文件: FragmentHandlerManager.java
/**
 * 恢复嵌套的Fragment
 */
public void resumeChildFragment(Fragment fragment) {
	FragmentManager fm = fragment.getFragmentManager();
	if (fm == null) {
		return;
	}

	for (int i = 0, size = fm.getFragments().size(); i < size; i++) {
		fm.getFragments().get(i).onAttach((Context) context);
	}
}
 
源代码10 项目: SimpleProject   文件: BaseCommonActivity.java
/**
 * 恢复嵌套的Fragment
 */
public void restoreChildFragment(Fragment currentFragment) {
	FragmentManager fm = currentFragment.getFragmentManager();
	List<Fragment> fragmentList = fm != null ? fm.getFragments() : null;
	if (CollectionUtil.isEmpty(fragmentList)) {
		return;
	}

	for (Fragment fragment : fragmentList) {
		fragment.onAttach((Context)context);
	}
}
 
源代码11 项目: CC   文件: CC.java
void addCancelOnFragmentDestroyIfSet() {
    if (cancelOnDestroyFragment == null) {
        return;
    }
    Fragment fragment = cancelOnDestroyFragment.get();
    if (fragment == null) {
        return;
    }
    FragmentManager manager = fragment.getFragmentManager();
    if (manager != null) {
        manager.registerFragmentLifecycleCallbacks(
                new CCMonitor.FragmentMonitor(this)
                , false);
    }
}
 
源代码12 项目: mvvm-template   文件: AutoClearedValue.java
public AutoClearedValue(Fragment fragment, T value) {
    FragmentManager fragmentManager = fragment.getFragmentManager();
    fragmentManager.registerFragmentLifecycleCallbacks(
            new FragmentManager.FragmentLifecycleCallbacks() {
                @Override
                public void onFragmentViewDestroyed(FragmentManager fm, Fragment f) {
                    AutoClearedValue.this.value = null;
                    fragmentManager.unregisterFragmentLifecycleCallbacks(this);
                }
            },false);
    this.value = value;
}
 
源代码13 项目: AndroidUtilCode   文件: FragmentUtils.java
/**
 * Replace fragment.
 *
 * @param srcFragment  The source of fragment.
 * @param destFragment The destination of fragment.
 * @param destTag      The destination of fragment's tag.
 * @param isAddStack   True to add fragment in stack, false otherwise.
 */
public static void replace(@NonNull final Fragment srcFragment,
                           @NonNull final Fragment destFragment,
                           final String destTag,
                           final boolean isAddStack) {
    FragmentManager fm = srcFragment.getFragmentManager();
    if (fm == null) return;
    Args args = getArgs(srcFragment);
    replace(fm, destFragment, args.id, destTag, isAddStack);
}
 
public ColorPreferenceFragment showDialog(@NonNull Fragment targetFragment, int requestCode) {
	ColorPreferenceFragment fragment = ColorPreferenceFragment.newInstance(getKey());
	fragment.setTargetFragment(targetFragment, requestCode);
	FragmentManager fragmentManager = targetFragment.getFragmentManager();
	if (fragmentManager != null) {
		fragment.show(fragmentManager, getKey());
		hideKeyboard(targetFragment);
	}
	return fragment;
}
 
源代码15 项目: weex   文件: FragmentCompatSupportLib.java
@Nullable
@Override
public FragmentManager getFragmentManager(Fragment fragment) {
  return fragment.getFragmentManager();
}
 
源代码16 项目: stetho   文件: FragmentCompatSupportLib.java
@Nullable
@Override
public FragmentManager getFragmentManager(Fragment fragment) {
  return fragment.getFragmentManager();
}
 
源代码17 项目: AndroidUtilCode   文件: FragmentUtils.java
/**
 * Replace fragment.
 *
 * @param srcFragment  The source of fragment.
 * @param destFragment The destination of fragment.
 * @param destTag      The destination of fragment's tag.
 * @param isAddStack   True to add fragment in stack, false otherwise.
 * @param enterAnim    An animation or animator resource ID used for the enter animation on the
 *                     view of the fragment being added or attached.
 * @param exitAnim     An animation or animator resource ID used for the exit animation on the
 *                     view of the fragment being removed or detached.
 * @param popEnterAnim An animation or animator resource ID used for the enter animation on the
 *                     view of the fragment being readded or reattached caused by
 *                     popBackStack() or similar methods.
 * @param popExitAnim  An animation or animator resource ID used for the enter animation on the
 *                     view of the fragment being removed or detached caused by
 *                     popBackStack() or similar methods.
 */
public static void replace(@NonNull final Fragment srcFragment,
                           @NonNull final Fragment destFragment,
                           final String destTag,
                           final boolean isAddStack,
                           @AnimatorRes @AnimRes final int enterAnim,
                           @AnimatorRes @AnimRes final int exitAnim,
                           @AnimatorRes @AnimRes final int popEnterAnim,
                           @AnimatorRes @AnimRes final int popExitAnim) {
    FragmentManager fm = srcFragment.getFragmentManager();
    if (fm == null) return;
    Args args = getArgs(srcFragment);
    replace(fm, destFragment, args.id, destTag, isAddStack,
            enterAnim, exitAnim, popEnterAnim, popExitAnim);
}