Android平台:3.1
我试图将一个片段从容器A移动到容器B.下面是完成此操作的代码:
private void reattach(int newContainerId, Fragment frag, String tag) {
if (frag == null || !frag.isAdded() || (frag.getId() == newContainerId)) { return; }
final FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.remove(frag); //stacco il frammento dal container A
ft.commit();
fm.executePendingTransactions();
ft = fm.beginTransaction();
ft.add(newContainerId, frag, tag); //attacco il frammento sul container D
ft.commit();
fm.executePendingTransactions();
}
Run Code Online (Sandbox Code Playgroud)
当我运行系统时,我得到以下IllegalStateException:
03-26 00:13:14.829: E/AndroidRuntime(30090): java.lang.RuntimeException: Unable to start activity ComponentInfo{eu.areamobile.apps.sfa/eu.areamobile.apps.sfa.activity.HomeActivity}: java.lang.IllegalStateException: Can't change container ID of fragment FragmentHomeController{408202a8 id=0x7f050010 HomeController}: was 2131034128 now …Run Code Online (Sandbox Code Playgroud)