Phiên bản mới nhất của thư viện hỗ trợ từ sáng nay (Android Support Package v4 revision 11) là nghĩa vụ hỗ trợ các đoạn lồng nhau.Các mảnh ghép lồng nhau bằng thư viện hỗ trợ bản sửa đổi v4 11
Trong dự án của tôi, tôi có một đoạn có chứa ViewPager và ViewPager này chứa một số đoạn.
Tôi đang gọi getSupportFragmentManager()
thay vì getFragmentManager
để sử dụng FragmentManager của thư viện hỗ trợ.
Vấn đề là tôi vẫn gặp tai nạn như:
java.lang.IllegalStateException: Recursive entry to executePendingTransactions
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1416)
at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:461)
at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:141)
at android.support.v4.view.ViewPager.populate(ViewPager.java:1012)
at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:523)
at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:495)
at android.support.v4.view.ViewPager.onRestoreInstanceState(ViewPager.java:1221)
at android.view.View.dispatchRestoreInstanceState(View.java:11910)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2584)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2590)
at android.view.View.restoreHierarchyState(View.java:11888)
at android.support.v4.app.Fragment.restoreViewState(Fragment.java:417)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:933)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1088)
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1444)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:429)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Có điều gì tôi đang làm sai? Hoặc sự hỗ trợ không hỗ trợ các mảnh lồng nhau cho thực?
giao dịch của tôi là đơn giản như này:
getSupportFragmentManager().beginTransaction()
.replace(R.id.content, new MyFragment()).commit();
Loại phần tử nào là R.id.content? – Yahor10
Đó là một 'FrameLayout'. –
Bạn đã đọc bài viết này chưa? http://stackoverflow.com/questions/6185272/android-honeycomb-how-to-change-fragments-in-a-framelayout-without-re-creating – Yahor10