我怎样才能设置一个Fragment
's Id
这样我就可以使用getSupportFragmentManager().findFragmentById(R.id.--)
?
您无法以编程方式设置片段的 ID.
然而,有一个String tag
您可以在 FragmentTransaction 中设置它,它可用于唯一标识一个 Fragment。
正如 Aleksey 指出的,你可以将 ID 传递给FragmentTransaction
's add(int, Fragment)
方法。然而,这并不指定片段的 ID。它指定了一个IDViewGroup
插入Fragment
进入。这对于我期望的目的来说没有那么有用,因为它不能唯一地标识Fragment
s, but ViewGroup
s。这些ID是容器那个or more片段可以动态添加。使用这样的方法来识别Fragment
s 会要求您添加ViewGroup
动态地调整每个布局Fragment
你插入。那就相当麻烦了。
因此,如果您的问题是如何为动态添加的片段创建唯一标识符,答案是使用FragmentTransaction
's add(int containerViewId, Fragment 片段, String 标签)方法和FragmentManager
's 通过标签查找片段(字符串)方法。
在我的一个应用程序中,我被迫动态生成字符串。但无论如何,相对于实际的 FragmentTransaction 来说,它并没有那么昂贵。
tag 方法的另一个优点是它可以识别未添加到 UI 的 Fragment。请参阅 FragmentTransaction 的添加(片段,字符串)方法。Fragment
不需要有View
!它们还可以用于在配置更改之间保留短暂状态!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)