gpt4 book ai didi

Android - 设置 fragment ID

转载 作者:太空宇宙 更新时间:2023-11-03 11:14:01 36 4
gpt4 key购买 nike

如何设置 FragmentId 以便我可以使用 getSupportFragmentManager().findFragmentById(R.id.--)?

最佳答案

您不能以编程方式设置 fragment 的 ID

但是,您可以在 FragmentTransaction 中设置一个 String 标签,它可以用来唯一标识一个 Fragment。

正如 Aleksey 所指出的,您可以将 ID 传递给 FragmentTransactionadd(int, Fragment) 方法。但是,这并没有指定 fragment 的 ID。它指定了 ViewGroup 的 ID,以将 Fragment 插入到其中。这对于我期望的目的来说不是很有用,因为它不是唯一标识 Fragment,而是 ViewGroup。这些 ID 属于容器,可以动态添加一个或多个 fragment 。使用这种方法来识别 Fragment 需要您将 ViewGroup 动态添加到您插入的每个 Fragment 的布局中。那会很麻烦。

因此,如果您的问题是如何为动态添加的 fragment 创建唯一标识符,答案是使用 FragmentTransactionadd(int containerViewId, Fragment fragment, String tag)方法和 FragmentManagerfindFragmentByTag(String)方法。

在我的一个应用程序中,我被迫动态生成字符串。但无论如何,相对于实际的 FragmentTransaction 来说,它并没有那么昂贵。

标记方法的另一个优点是它可以识别未添加到 UI 的 fragment 。参见 FragmentTransaction 的 add(Fragment, String)方法。 Fragment 不需要 View!它们还可以用于在配置更改之间保持短暂状态!

关于Android - 设置 fragment ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19973412/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com