2013-01-10 10 views
5

Pozwól mi opisać mój projekt.Brak aktywności Wyjątek podczas korzystania z podglądu stron i fragmentów wewnątrz fragmentów

Używam actionbarsherlock ze SlidingMeno z jfeinstein10. W mojej głównej działalności mam to przesuwne menu z kilkoma pozycjami menu, które otwierają Fragmenty w kontenerze. (tak samo jak podstawowa próbka fragmentu w przykładowym menu przesuwnym) W jednym z tych fragmentów mam widok-pager z viewpageindykatorem. View-pager jest powiązany z FragmentStatePagerAdapter z moimi fragmentami. Więc mam fragmenty wewnątrz fragmentów. Używam getChildFragmentManager() jak sugerowano w dokumencie, gdy używam fragmentów wewnątrz fragmentów.

Po wybraniu pozycji menu z fragmentem, który zawiera widok strony po raz pierwszy, wszystko działa tak, jak powinno. Ale gdy wybiorę inny element menu, a następnie wrócę do tego fragmentu widoku strony, otrzymuję ten wyjątek. Wszystkie inne fragmenty nie mają tego problemu, a na ścieżce stosu nie ma odniesienia do mojego kodu.

https://gist.github.com/4502038

Czy każdą napotkać podobny problem lub ma jakiś pomysł co się dzieje.

EDYCJA: Jeśli używam getFragmentManager() zamiast getChildFragmentManager() nawet jeśli jesteś w subfragment. Nie dostaję wyjątku, ale jeden z fragmentów wewnątrz podglądu nie zostanie odtworzony po wybraniu fragmentu podglądu po raz drugi.

Stworzyłem projekt na GitHubie, abyście mogli rzucić okiem. https://github.com/pzagor2/TestErrorApp

+0

Miał ten sam scenariusz. Zakończyłem tworzenie adaptera pagerowego w następujący sposób: 'pagerAdapter = new PagerAdapter (hostFragment.getChildFragmentManager());' – azizbekian

Odpowiedz

5

Zobacz: https://code.google.com/p/android/issues/detail?id=42601 błąd.

Odkomentowywanie addToBackStack https://github.com/pzagor2/TestErrorApp/blob/master/MainActivity/src/com/example/myapp/MainActivity.java#L69, zadziałało u mnie z konfiguracją projektu.

Możesz zobaczyć błąd w raporcie błędów Google w pierwszym adresie URL.

Mam nadzieję, że to pomogło.

+0

Naprawiłem kod na github za pomocą linków w twoim poście. Na razie działa dobrze. Ale zgłoszę się, jeśli znajdę jakieś dziwne zachowanie. – pzagor2

0

Po prostu spojrzałem na projekt GitHub i wygląda na to, że jeszcze nie popełniłeś swojego kodu. Zakładam jednak, że twój ViewPager znajduje się w samym fragmencie, a ViewPager zawiera fragmenty potomne. Jeśli tak, to polecam test, aby upewnić się, że twój FragmentStatePagerAdapter jest skonstruowany z wynikiem getChildFragmentManager().

+0

Naprawiłem łącze do mojego projektu testowego na Git. Sprawdziłem i używam getChildFragmentManager() podczas konstruowania mojego FragmentStatePagerAdapter. – pzagor2

Powiązane problemy