Tak więc, dostałem zdarzenie w moim fragmencie, aby przekazać je do działania, więc jak zrobić to tak, że działanie na przemian, powiadamia fragment B, aby coś zrobić. Chcę fragment B, aby zapełnić niestandardową listę, gdy fragment A ma kliknięty element listy. W związku z tym wysyła zdarzenie do działania, a teraz w jaki sposób sprawić, aby działanie wywołało zdarzenia w fragmencie B?Wywoływanie zdarzeń fragmentów z aktywności
8
A
Odpowiedz
32
Jednym ze sposobów, aby to zrobić byłoby tak w swojej działalności:
FragmentB fragmentB = (FragmentB)getFragmentManager().findFragmentById(R.id.fragmentBId);
fragmentB.performSomeTask();
Jest to oczywiście przy założeniu, że masz publicznie przystępnie metoda FragmentB nazywa performSomeTask();
Nadzieję, że pomaga!
10
Najlepszą praktyką jest prawdopodobnie tworzenie interfejsów dla obu fragmentów, a następnie zaimplementowanie interfejsów w działaniu. Chcesz mieć dobre oddzielenie fragmentów, aby móc je ponownie wykorzystać w innych miejscach.
Powiązane problemy
- 1. Asynctask w aktywności fragmentów lub rodziców?
- 2. Sygnatury użycia przejścia aktywności a fragmentów dynamicznych
- 3. Nawigowanie wśród fragmentów w ramach jednej aktywności
- 4. Wywoływanie niestandardowego adaptera ListView z klasy fragmentów Główne działanie
- 5. Ręczne wywoływanie procedury obsługi zdarzeń
- 6. Brak aktywności Wyjątek podczas korzystania z podglądu stron i fragmentów wewnątrz fragmentów
- 7. Wywoływanie zdarzeń kluczowych zdarzeń programowo w wanilii JavaScript
- 8. Wywoływanie komend WPF za pośrednictwem zdarzeń
- 9. jQuery: Wywoływanie zdarzeń .click(), jeden po drugim
- 10. Swift: Wartość Zmiana zdarzeń kontrolnych nie wywoływanie?
- 11. Jak wywołać metodę fragmentów z głównej działalności
- 12. Zanikanie aktywności z poprzedniej aktywności w Androidzie
- 13. Asynchroniczne lub synchroniczne wywoływanie procedur obsługi zdarzeń w javascript
- 14. Duplikacja fragmentów w przypadku transakcji fragmentów
- 15. Informuj aktywności z serwisu
- 16. SharedPreferences z różnej aktywności
- 17. Jak uruchomić usługę z fragmentów?
- 18. Parsowanie fragmentów html z ożywieniem
- 19. Komunikacja fragmentów i fragmentów w Androidzie
- 20. Wywoływanie PowerShell z C#
- 21. Wywoływanie Javy z Clojure
- 22. Wywoływanie java z PHP
- 23. Android MVP - Jak komunikować się między prezenterem aktywności i prezentera fragmentów
- 24. Zapobieganie odzyskiwaniu fragmentów w systemie Android
- 25. Eliksir - wywoływanie/wywoływanie makr - UndefinedFunctionError
- 26. Jak przekazywać wartości z jednej aktywności do poprzedniej aktywności?
- 27. Android - Zmień układ fragmentów w środowisku wykonawczym
- 28. Wyświetlanie aktywności z animacją niestandardową
- 29. Uzyskaj dane z innej aktywności
- 30. Wywoływanie skryptów Powershell z Java
Jestem głupi, mogę to zrobić, wywołując metodę fragment_b.doTask(), jeśli jest ona zadeklarowana jako publiczna i statyczna. – Shaun
jeśli wywołasz metodę performSomeTask w metodzie onCreate i powiedz, że wypełniłeś na niej jakieś pole edittext. Będziesz mieć wyjątek wskaźnika pustego w przypadku inicjalizacji edittext w metodzie onActivityCreate tego fragmentu. Jakie jest najlepsze rozwiązanie? – Maxrunner