WIS*_*SHY 6 android illegalstateexception android-fragments android-dialogfragment fragmentmanager
我有一个显示良好的对话框片段,但有时当我尝试显示它时,我不断收到 IllegalStateException
下面是logcat
java.lang.IllegalStateException: Fragment already added: SelectPlan04Dialog{fa768dc #7 }
at android.support.v4.app.FragmentManagerImpl.addFragment(FragmentManager.java:1893)
at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:760)
at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2595)
at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2382)
at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2337)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2244)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:702)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:192)
at android.app.ActivityThread.main(ActivityThread.java:6679)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:826)]
Run Code Online (Sandbox Code Playgroud)
这是我如何调用对话框的代码
if (selectPlan04Dialog == null) {
selectPlan04Dialog = new SelectPlan04Dialog();
}
if (!selectPlan04Dialog.isVisible() && !selectPlan04Dialog.isAdded()) {
Bundle b = new Bundle();
b.putSerializable("moduleApi", module);
selectPlan04Dialog.setArguments(b);
selectPlan04Dialog.show(getCurrentActivity().getSupportFragmentManager(), "");
}
Run Code Online (Sandbox Code Playgroud)
laa*_*lto 14
片段事务是异步的。
在执行片段事务之前,您可能有两次或多次调用此代码。!selectPlan04Dialog.isVisible() & !selectPlan04Dialog.isAdded()条件为真并show()安排另一个片段事务稍后执行。
解决此问题的一些选项:
executePendingTransactions()小智 8
modalBottomSheet.show(supportFragmentManager.beginTransaction().remove(modalBottomSheet),ModalBottomSheet.TAG)\nRun Code Online (Sandbox Code Playgroud)\n\xd0\xa1都是这样的
\n| 归档时间: |
|
| 查看次数: |
5649 次 |
| 最近记录: |