2013-01-10 32 views
5

Hãy để tôi mô tả dự án của mình.Không có hoạt động Ngoại lệ khi sử dụng chế độ xem và các mảnh vỡ bên trong các đoạn

Tôi sử dụng mã vạch hành động với SlidingMeno từ jfeinstein10. Trên hoạt động chính của tôi, tôi có menu trượt này với một vài mục menu mở Fragments trong container. (giống như mẫu phân đoạn cơ bản trong ví dụ trình đơn trượt) Trong một trong những mảnh đó tôi có máy xem ảnh với viewpageindicator. Xem-pager được gắn với FragmentStatePagerAdapter với các mảnh của tôi. Vì vậy, tôi có mảnh vỡ bên trong mảnh vỡ. Tôi sử dụng getChildFragmentManager() như được đề xuất trong tài liệu, khi sử dụng các mảnh vỡ bên trong các đoạn.

Khi tôi chọn mục menu có đoạn giữ lần xem trang cho lần đầu tiên mọi thứ hoạt động như mong muốn. Nhưng khi tôi chọn một số mục trình đơn khác và sau đó quay trở lại phân đoạn xem trang này, tôi nhận được ngoại lệ này. Tất cả các đoạn khác không có vấn đề này và theo dõi ngăn xếp không có tham chiếu đến mã của tôi.

https://gist.github.com/4502038

Did bất kỳ một cuộc gặp gỡ vấn đề tương tự hoặc có một số ý tưởng những gì đang xảy ra.

EDIT: Nếu tôi sử dụng getFragmentManager() thay vì getChildFragmentManager() ngay cả khi tôi đang ở trong phân vùng. Tôi không nhận được một ngoại lệ, nhưng một trong những mảnh bên trong viewpager không được tái tạo sau khi tôi chọn đoạn viewpager cho lần thứ hai.

Tôi đã tạo một dự án trên github để các bạn có thể xem qua. https://github.com/pzagor2/TestErrorApp

+0

Có cùng một tình huống. Đã kết thúc tạo bộ điều hợp máy nhắn tin như thế này: 'pagerAdapter = new PagerAdapter (hostFragment.getChildFragmentManager());' – azizbekian

Trả lời

5

Xem: https://code.google.com/p/android/issues/detail?id=42601 lỗi.

Thêm vào AddToBackStack https://github.com/pzagor2/TestErrorApp/blob/master/MainActivity/src/com/example/myapp/MainActivity.java#L69, đã làm việc cho tôi với thiết lập dự án của bạn.

Bạn có thể thấy lỗi trong báo cáo lỗi của Google trong URL đầu tiên.

Hy vọng điều này sẽ hữu ích.

+0

Tôi đã sửa mã trên github với sự trợ giúp của các liên kết trong bài đăng của bạn. Bây giờ nó hoạt động ok. Nhưng sẽ báo cáo nếu tôi tìm thấy một số hành vi kỳ lạ. – pzagor2

0

Tôi vừa xem dự án GitHub và có vẻ như bạn chưa cam kết mã của mình. Nhưng tôi cho rằng ViewPager của bạn nằm trong một phân đoạn và ViewPager đang lưu trữ các mảnh con. Nếu vậy, thì tôi khuyên bạn nên kiểm tra để đảm bảo FragmentStatePagerAdapter của bạn được xây dựng với kết quả của getChildFragmentManager().

+0

Tôi đã sửa liên kết đến dự án thử nghiệm của tôi trên Git. Tôi đã kiểm tra và tôi đang sử dụng getChildFragmentManager() khi xây dựng FragmentStatePagerAdapter của mình. – pzagor2

Các vấn đề liên quan