您的位置:首页 > 其它

ViewPager PagerObserver was not registered错误

2015-09-02 14:42 369 查看
今天写程序的时候遇到一个错误,错误如下:

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方法才行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: