【发布时间】:2017-10-31 23:06:54
【问题描述】:
我创建了一个活动 A,其中包含一个片段 X。在片段 X 中,EditText 项目具有打开片段 Y 的单击事件。此片段显示名称列表。我在列表中按下一个名称,片段 Y 关闭并将所选名称发送到片段 X EditText。这是我写的代码:
YFragment y = new YFragment();
y.setTargetFragment(x.class, code);
getActivity().getSupportFragmentManager()
.beginTransaction()
.replace(R.id.frame, y)
.addToBackStack(null)
.commit();
在片段 Y 中,我有发送数据的代码,但问题出在上面的这段代码中。如果我注释掉 setTargetFragment 行,代码将起作用,但没有用处,因为不会发送数据。如果我运行该应用程序,则会出现此错误:
java.lang.IllegalStateException: 片段 y{46d3d31 #3 id=0x7f090069} 声明的目标片段 x{e2c16 #0 id=0x7f090104 不属于这个的android:switcher:2131296516:0} 片段管理器!
【问题讨论】:
-
你的问题救了我,因为 h 有同样的问题并解决了当使用 supportFragmentManager 而不是 childFragmentManager 时
标签: java android android-fragments