今天写程序的时候遇到一个错误,错误如下:
Process: app.bardemo, PID: 7802
java.lang.RuntimeException: Unable to resume activity {app.bardemo/app.bardemo.MainActivity}: java.lang.IllegalStateException: Recursive entry to executePendingTransactions
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2989)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3020)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1347)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5257)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
Caused by: java.lang.IllegalStateException: Recursive entry to executePendingTransactions
我做的是从一个fragment里面嵌套一个viewpager,viewpager里面包含多个fragment的一个页面,点击某个按钮进入一个activity,然后按后退键产生的,他报的错误是:
java.lang.RuntimeException: Unable to resume activity {app.bardemo/app.bardemo.MainActivity}: java.lang.IllegalStateException: Recursive entry to executePendingTransactions
错误代码产生地方:
mViewPager.setAdapter(cityNewsPagerApdapter);
网上查了一下原因:
原因如下:
getSupportFragmentManager() (and getFragmentManager()) 是用来连接当前fragment和此fragment所依附的activity的,他并不是连接fragment和fragment之间的。
如果想要实现fragment和所依附的fragment之间的,必须使用getChilrdFragmentManager方法才行。