我创建了一个名为A的活动,在其中有一个包含碎片X的布局。在碎片X中,EditText控件具有点击事件,该事件会打开碎片Y。碎片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: 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!