【发布时间】:2016-01-07 08:06:30
【问题描述】:
我是使用片段动画的新手,现在我遇到了一个问题。我尝试将动画添加到片段交易中。但是,当我在交易仍在进行时尝试单击按钮时,它们正在工作,应用程序崩溃。我该如何避免这种情况?这是我的代码:
FragmentManager fragmentManager =getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.setCustomAnimations(R.anim.enter_from_left, R.anim.exit_to_right);
fragmentTransaction.replace(R.id.container_body, fragmentMain);
fragmentTransaction.commit();
错误:
10-09 14:35:23.212 14140-14140/com.mts.wifisharetest E/AndroidRuntime: FATAL EXCEPTION: main
10-09 14:35:23.212 14140-14140/com.mts.wifisharetest E/AndroidRuntime: Process: com.mts.wifisharetest, PID: 14140
10-09 14:35:23.212 14140-14140/com.mts.wifisharetest E/AndroidRuntime: java.lang.IllegalStateException: No host
10-09 14:35:23.212 14140-14140/com.mts.wifisharetest E/AndroidRuntime: at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1194)
10-09 14:35:23.212 14140-14140/com.mts.wifisharetest E/AndroidRuntime: at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1189)
10-09 14:35:23.212 14140-14140/com.mts.wifisharetest E/AndroidRuntime: at android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:2001)
10-09 14:35:23.212 14140-14140/com.mts.wifisharetest E/AndroidRuntime: at android.support.v4.app.Fragment.performActivityCreated(Fragment.java:1976)
10-09 14:35:23.212 14140-14140/com.mts.wifisharetest E/AndroidRuntime: at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1051)
10-09 14:35:23.212 14140-14140/com.mts.wifisharetest E/AndroidRuntime: at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1207)
10-09 14:35:23.212 14140-14140/com.mts.wifisharetest E/AndroidRuntime: at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:738)
10-09 14:35:23.212 14140-14140/com.mts.wifisharetest E/AndroidRuntime: at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1572)
10-09 14:35:23.212 14140-14140/com.mts.wifisharetest E/AndroidRuntime: at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:493)
10-09 14:35:23.212 14140-14140/com.mts.wifisharetest E/AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:808)
10-09 14:35:23.212 14140-14140/com.mts.wifisharetest E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:103)
10-09 14:35:23.212 14140-14140/com.mts.wifisharetest E/AndroidRuntime: at android.os.Looper.loop(Looper.java:193)
10-09 14:35:23.212 14140-14140/com.mts.wifisharetest E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5292)
10-09 14:35:23.212 14140-14140/com.mts.wifisharetest E/AndroidRuntime: at java.lang.reflect.Method.invokeNative(Native Method)
10-09 14:35:23.212 14140-14140/com.mts.wifisharetest E/AndroidRuntime: at java.lang.reflect.Method.invoke(Method.java:515)
10-09 14:35:23.212 14140-14140/com.mts.wifisharetest E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:824)
10-09 14:35:23.212 14140-14140/com.mts.wifisharetest E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:640)
10-09 14:35:23.212 14140-14140/com.mts.wifisharetest E/AndroidRuntime: at dalvik.system.NativeStart.main(Native Method)
【问题讨论】:
-
你在模拟器上测试了吗?在启用连接的真实设备上重试。
-
@EdwardBishop 你有没有想过是什么原因导致这个/解决这个问题?我遇到了同样的问题。
标签: java android android-fragments fragment