- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我实现的 fragment 如下:
代码示例如下所示:
/*This code does not show animation*/
getChildFragmentManager()
.beginTransaction()
.addSharedElement(transitionView, ViewCompat.getTransitionName(transitionView))
.replace(R.id.fragment_container, categoryDetailChildFragment)
.addToBackStack(TAG)
.commit();
显示动画的代码是:
getFragmentManager()
.beginTransaction()
.addSharedElement(transitionView, ViewCompat.getTransitionName(transitionView))
.replace(R.id.fragment_container, categoryDetailChildFragment)
.addToBackStack(TAG)
.commit();
为什么在getChildFragmentManager()的时候没有shared transition?请帮助任何人。
最佳答案
每个 fragment 都有自己的childFragmentManager。因此,如果您有多个嵌套的 fragment ,您应该引用同一个 fragment 的 childFragmentManager,您在其中使用 addSharedElement()。
因此如果你有:
ActivityA
|_ FragmentB
|_ FragmentC
|_ FragmentD
在这种情况下,对于 fragment C 和 fragment D,您应该使用最高公共(public) fragment 的 getChildFragmentManager() - fragment B,以确保每个嵌套 fragment 都引用相同的 fragment 管理器。这就是为什么当您使用 Activity 的 fragmentManager 时它起作用的原因,因为只有一个 Activity,并且每个 Activity 都通过使用 getActivity() 引用同一个
要在嵌套 fragment 中获取父 fragment ,您可以在嵌套 fragment 的 onAttach() 方法上使用 getParentFragment() 。您也可以将它转换到某个类,例如 FragmentB:
override fun onAttach(context: Context) {
super.onAttach(context)
val fragment: FragmentB = parentFragment.parentFragment.parentFragment... as FragmentB
}
关于android - 与 getChildFragmentManager() 的共享转换不起作用但与 getFragmentManager() 一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47005665/
我有同样的问题有这个帖子:android.support.v4.app.Fragment: undefined method getChildFragmentManager() .我需要使用 getC
错误:仅当 getChildFragmentManager() 方法在 android.support.v4.app.Fragment 中可用时才能使用“childFragmentManager”参数
我知道,已经有很多关于这个主题的论坛帖子,但没有一个能解决我的问题 我的代码是这样的: private SectionsPagerAdapter myAdapt; private ViewPager
问题 根据 Google 的文档: You can now embed fragments inside fragments. This is useful for a variety of situ
在 fragment 中,我尝试在静态方法中使用 getChildFragmentManager()。但它显示错误并建议我使方法不是静态的。 Non static method getChildFra
我正在使用 getChildFragmentManager()在针对 API 级别 19 编译的应用中,最低 SDK 设置为 14。 getChildFragmentManager()在 API 17
我正在尝试使用 FragmentPagerAdapter 实现 ViewPager,其中 ViewPager 本身位于 fragment 内。我在文档中读到应该可以使用最新的支持库和使用嵌套 frag
我正在使用 Fragments 来更改应用程序中的场景,并且遇到了当按下手机后退按钮时应用程序关闭的问题。我该如何做到这一点,以便当按下后退按钮时,上一个 fragment 会打开。 我搜索了解决方案
按后退按钮后,单击按钮时显示的新 fragment 不会关闭,而是关闭整个应用程序。该按钮位于三个选项卡之一内。 mainActivity.java、HeroesFragment(具有三个选项卡的 f
我使用 getChildFragmentManager()、containerId 和方法 .add() 在父 fragment 代码中创建了一个子 fragment 。然后我尝试使用 childFr
这个问题在这里已经有了答案: What is difference between getSupportFragmentManager() and getChildFragmentManager()
我有一个 SherlockFragmentActivity,这个 Activity 有一个 SectionsPagerAdapter 和一个 ViewPager。当我使用 getChildFragme
我和 Navigating back to FragmentPagerAdapter -> fragments are empty 有同样的问题但想澄清一下使用 getChildFragmentMan
我正在使用 class baseactivity extends Activity { //some stuffs is here, so i cannot Extend Fragment
我使用 FragmentPagerAdapter 在我的 ViewPgaer 中有 4 个 fragment 。我尝试在持续延迟后添加每个 fragment ,以便在切换底部栏选项卡时获得无抖动的动画
当需要使用 getSupportFragmentManager() 来支持较低的 API 级别时,我认为使用 getChildFragmentManager() 方法。此方法如何支持所有 API 级别
如何在 kotlin fragment 类中使用 getChildFragmentManager()? 我知道这是非常基本的问题。但是没有找到这方面的文件。我在谷歌和 SO 中搜索但没有找到结果。 最
我正在用 maven 构建 android 项目。但是我发现当我在v4.Fragment中调用getChildFragmentManager时,提示找不到这个方法。我怀疑 support-v4 包是否
我有 viewPager,其中包含 fragment ,每个 fragment 都有 viewpager 来显示图像和横幅 现在我传递给每个 fragment 图像适配器 getChildFragme
我正在开发一个 android 应用程序,每个选项卡中都有 TabHost 和 FragmentActivity。 在我的第一个选项卡中,我使用 ViewPager 指示器和按钮初始化 fragmen
我是一名优秀的程序员,十分优秀!