Próbuję przenieść aplikację na system Android do nowej biblioteki obsługi (obsługa -4: 21.0.0) i mam problemy z uruchomieniem działań z fragmentów z przejściem .Rozpocznij aktywność od fragmentu za pomocą przejścia (obsługa interfejsu API 21)
W mojej działalności, Robiłem coś takiego:
Bundle options = ActivityOptionsCompat.makeSceneTransitionAnimation(this).toBundle();
ActivityCompat.startActivityForResult(this, intent, REQUEST_SOMETHING, options);
które działa prawidłowo dla Działania. Jednak, gdy próbuję zrobić coś podobnego z fragmentów, takich jak:
Activity activity = getActivity();
Bundle options = ActivityOptionsCompat.makeSceneTransitionAnimation(activity).toBundle();
ActivityCompat.startActivityForResult(activity, intent, REQUEST_SOMETHING, options);
okazuje się, że nie nazywa się onActivityResult()
dla fragmentu, ale tylko aktywny zakrywające. Nie znalazłem niczego w bibliotece pomocy technicznej, aby przekazać pakiet opcji jako parametr do startActivityForResult()
w rzeczywistym fragmencie i mieć połączenie z numerem onActivityResult()
w tym fragmencie. czy to możliwe?
Najprostszym rozwiązaniem byłoby obsłużenie wszystkich wywołań onActivityResult()
w samym działaniu, ale wolałbym tego nie robić, ponieważ mam mnóstwo możliwych fragmentów, które mogą odbierać to wywołanie zwrotne.
Pomoc jest doceniana. Dzięki!
Rozpoczęcie działania dla wyniku przy użyciu ostatniej z podanych przeze mnie metod było dla mnie bardzo ważne - bardzo dziękuję za rozwiązanie, mimo że nie uważam go za całkowicie czysty, więc miejmy nadzieję, że Google nie zmieni nic w kwestii zmiany dziwnego bajtu. – user2302510
Sądzę, że byłoby czysto wykonać połączenie z działania, a następnie przekazać wynik działania do Fragmentu, ale mając mnóstwo fragmentów załączonych do mojej aktywności (z powodu viewpagera), to sprawia, że trudno jest obsłużyć – user2302510
@ user2302510 Dokładnie, Staje się to bardzo mylące, aby poradzić sobie z tym samodzielnie. Cieszę się, że pomogło! – 0101100101