- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我遇到了一个疯狂的小“错误”,或者我只是做错了什么。我正在尝试获取对 fragment 内 fragment 的引用。所以我们有 ParentFragment
,它是 MainActivity
的子项。我可以毫无问题地获得对此 ParentFragment 的引用,因为 ParentFragment
通过代码添加到 MainActivity
:
ParentFragment fragment = new ParentFragment();
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.fragmentPlaceholder, fragment);
transaction.commit();
我已经通过 XML 向 ParentFragment
添加了一个 ChildFragment
,如下所示:
parent_fragment.xml
<RelativeLayout ... etc>
.. some other views, findViewById('') works great on these.
<fragment
android:layout_width="70dp"
android:layout_height="70dp"
android:id="@+id/childFragment1"
android:tag="1"
class="com.my.package.ChildFragment"
android:name="com.my.package.ChildFragment"
tools:layout="@layout/child_fragment" />
</RelativeLayout>
一切正常,ChildFragment(s) 显示在 ParentFragment 中。唯一的事情是;我找不到 fragmentById。
我已经尝试了多种方法来实现这一目标,应该如何完成(?):
getChildFragmentManager().findFragmentById(R.id.childFragment1)
没用。此外,获取 Activity 并使用该 fragment 管理器也不起作用(.. 当然)。
我也试过获取 ChildFragmentManager 中的所有 fragment ,迭代它们等。但这总是返回 null:
getChildFragmentManager().getFragments()
你知道为什么会这样吗?如果 fragment 不是通过代码添加的,我不能使用 ChildFragrentManager 吗?
谢谢!
最佳答案
您必须动态添加您的子 fragment 。参见 here :
Note: You cannot inflate a layout into a fragment when that layout includes a <fragment>. Nested fragments are only supported when added to a fragment dynamically.
附言。如果您打算使用嵌套 fragment ,请为各种奇怪的行为做好准备,您可以在向 Android 平台提交的错误报告中找到它们:
关于Android ChildFragmentManager().findFragmentById() 始终为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35059822/
这是我的问题,我有一个 Activity,其中包括一个使用 (FragmentStatePagerAdapter) 的 ViewPager 的 Fragment,当 Activity 第一次加载时一切
我遇到了一个疯狂的小“错误”,或者我只是做错了什么。我正在尝试获取对 fragment 内 fragment 的引用。所以我们有 ParentFragment,它是 MainActivity 的子项。
因此,当我尝试将某些内容放入 fragment 的子 fragment 管理器中时,我偶然发现了可怕的 Can not perform this action after onSaveInstance
我的应用建立在许多 fragment 之上,我用水平滑动动画改变了这些 fragment 。一些 fragment 包含带有 FragmentStatePagerAdapter 的 ViewPager
我有一个托 pipe fragment 的父 fragment 。我对我的应用程序进行了压力测试,通过在开发人员选项中选中“不保留 Activity ”,然后按下主页按钮来强制终止它。 可以看到父 f
我尝试使用 getChildFragmentManager() 在 viewpager 的另一个 fragment 内添加一个 fragment 。我收到以下错误, java.lang.Illeg
我正在尝试在我的 ViewPager 中恢复一个 fragment 以解决一些问题,并编写了一些在正常使用时可以完美运行的代码,但是当我尝试使其成为一个通用函数以重用它时,它不起作用。 无论我尝试在
我想将一个 fragment 作为子添加到另一个 fragment 我正在使用 ChildFragmentManager 这是我的 ChildFragmentManagerActivity.java
编辑 2 我现在设法摆脱了使用这里的技巧 https://code.google.com/p/android/issues/detail?id=42601#c10 的错误所以这就是为什么我最后一次编辑
我开发了一个应用程序,它使用 fragment 作为 fragment 的一部分。 public class LoginFragment extends Fragment EditTextWit
我是一名优秀的程序员,十分优秀!