gpt4 book ai didi

java - fragment 声明的目标 fragment 不属于这个 FragmentManager

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:55:56 26 4
gpt4 key购买 nike

我做了一个 Activity A,其中有一个 fragment X。在 fragment X 中,EditText 项具有打开 fragment Y 的单击事件。此 fragment 显示名称列表。我按下列表中的一个名称, fragment Y 关闭并将所选名称发送到 fragment X EditText。这是我写的代码:

YFragment y = new YFragment();
y.setTargetFragment(x.class, code);
getActivity().getSupportFragmentManager()
.beginTransaction()
.replace(R.id.frame, y)
.addToBackStack(null)
.commit();

在 fragment Y 中,我有发送数据的代码,但问题出在上面的这段代码中。如果我注释掉 setTargetFragment 行,代码将起作用但没有用,因为不会发送数据。如果我运行该应用程序,则会发生此错误:

java.lang.IllegalStateException: Fragment y{46d3d31 #3 id=0x7f090069} declared target fragment x{e2c16 #0 id=0x7f090104 android:switcher:2131296516:0} that does not belong to this FragmentManager!

最佳答案

要使用 setTargetFragment(),新的 Fragment 和目标 Fragment 必须托管在同一个 FragmentManager。不会发生这种情况的最常见情况是,如果您将 Activity.getSupportFragmentManager()Fragment.getFragmentManager()Fragment.getChildFragmentManager() .

关于java - fragment 声明的目标 fragment 不属于这个 FragmentManager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47045788/

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