Android 通过标记获取最后一个片段

Android 通过标记获取最后一个片段,android,android-fragments,Android,Android Fragments,我将片段添加到后堆栈中。例如:A、B、C、A、D。然后从D我想更新第二个A 如果我使用supportFragmentManager.findFragmentByTag(“A”),我会引用位于后堆栈底部的第一个A 我试图搜索片段集合,但没有成功。对不起,我知道findFragmentByTag(tag)找到最后一个带有所需标记的片段。在我的例子中,在添加了许多片段之后,它有时发现的不是带有标记的最后一个片段,而是一个从上到下的片段(带有相同的标记)。也许我的代码中有个bug,我不知道,为什么会这样

我将片段添加到后堆栈中。例如:
A、B、C、A、D
。然后从
D
我想更新第二个
A

如果我使用
supportFragmentManager.findFragmentByTag(“A”)
,我会引用位于后堆栈底部的第一个
A

我试图搜索
片段
集合,但没有成功。

对不起,我知道
findFragmentByTag(tag)
找到最后一个带有所需
标记的片段。在我的例子中,在添加了许多片段之后,它有时发现的不是带有
标记的最后一个片段,而是一个从上到下的片段(带有相同的
标记)。也许我的代码中有个bug,我不知道,为什么会这样

首先我尝试使用回调,然后尝试使用
parentFragment
childFragmentManager
,请参阅。在片段
D
中,我调用了
parentFragment
并访问了
A
的方法,可以更新最后一个
A
片段。这个解决方案有两个问题

1) 子片段(
D
)从父片段(
a
)继承工具栏并添加自己的按钮。单击
Back
按钮后,我们不会返回父级,甚至会退出父级(
a

2) 如果我们不想更新前一个片段(因此A和D之间也有3个片段),这似乎是不可能的

因此,我取消了该解决方案并更改了应用程序的行为。在可能的情况下,我会清除一个后台。这样我们就不能有两个
A
片段在backbackback中。我使用
supportFragmentManager.popBackStack(null,FragmentManager.POP\u BACK\u STACK)
。是的,这是一个解决方法,但我不知道如何处理该错误。

对不起,我了解
findFragmentByTag(tag)
找到最后一个带有所需
标记的片段。在我的例子中,在添加了许多片段之后,它有时发现的不是带有
标记的最后一个片段,而是一个从上到下的片段(带有相同的
标记)。也许我的代码中有个bug,我不知道,为什么会这样

首先我尝试使用回调,然后尝试使用
parentFragment
childFragmentManager
,请参阅。在片段
D
中,我调用了
parentFragment
并访问了
A
的方法,可以更新最后一个
A
片段。这个解决方案有两个问题

1) 子片段(
D
)从父片段(
a
)继承工具栏并添加自己的按钮。单击
Back
按钮后,我们不会返回父级,甚至会退出父级(
a

2) 如果我们不想更新前一个片段(因此A和D之间也有3个片段),这似乎是不可能的


因此,我取消了该解决方案并更改了应用程序的行为。在可能的情况下,我会清除一个后台。这样我们就不能有两个
A
片段在backbackback中。我使用
supportFragmentManager.popBackStack(null,FragmentManager.POP\u BACK\u STACK)
。是的,这是一个解决办法,但我不知道如何处理这个bug。

目前我使用
parentFragment
childFragmentManager
访问以前的片段,请参见。对不起,
findframentbytag(“a”)
经常引用最后一个“a”,但并不总是这样。如果我添加许多片段,它可以链接到最后一个“A”。这种行为很奇怪。目前我使用
parentFragment
childFragmentManager
访问上一个片段,请参见。对不起,
findFragmentByTag(“A”)
经常引用最后一个“A”,但并不总是这样。如果我添加许多片段,它可以链接到最后一个“A”。这种行为很奇怪。