Так что в основном я использую один и тот же тип фрагмента в двух разных действиях, и я хочу создать и инициализировать некоторую переменную во фрагменте, только если он был добавлен из определенной активности. Мой вопрос в том, как я могу программным образом узнать, в какой деятельности был добавлен фрагмент.Узнайте, в каком фрагменте активности был добавлен
2
A
ответ
3
там уже два основных способа его достижения:
менее модульный подход, вы просто проверить с помощью instanceof
if(getActivity() instanceof MyActivity)
и более модульный подход, вы передать некоторые аргументы фрагмента на момент, когда вы будете добавить его к сделке:
// this during the transaction to pass extra parameters to the fragment
Fragment f = new MyFragment();
Bundle b = new Bundle();
b.putBoolean("doExtraCode", true);
f.setArguments(b);
затем внутри фрагмента:
// check if should execute extras
Bundle b = getArguments();
boolean doExtraCode = b == null? false: b.getBoolean("doExtraCode", false);
Смежные вопросы
- 1. Узнайте, в каком хранилище добавлен коммит
- 2. Узнайте, когда член был добавлен в группу Active Directory
- 3. как инициировать фрагмент в фрагменте. Активности, если он добавлен динамически.
- 4. Невозможно использовать getChildFragmentManager() в фрагменте, который был добавлен в ViewPager
- 5. Git: узнать, в каком коммите был добавлен конкретный код?
- 6. Узнайте, когда файл добавлен в папку
- 7. Ссылка a Recyclerview, который был в фрагменте в активности Appcompat?
- 8. Переменные активности доступа в фрагменте
- 9. Проверяется NSTimer был добавлен в NSRunLoop
- 10. В каком дочернем div Jquery добавлен класс?
- 11. Знайте, добавлен ли класс (был добавлен javascript)
- 12. Узнайте, на каком веб-сервере работает сайт
- 13. Asynctask в фрагменте или родительской активности?
- 14. Узнайте, был ли поврежден WebView
- 15. Узнайте мнение жест был установлен
- 16. Узнайте, какой TableView был использован
- 17. Узнайте, когда файл был добавлен в систему или помещен в каталог
- 18. метод вызова в фрагменте ребенка в родительском фрагменте от активности
- 19. MySQL: Узнайте, в каком магазине клиент потратил большую часть денег
- 20. Узнайте, какой элемент в ListView был проделан
- 21. В каком состоянии активности мера это вид
- 22. Журнал активности не добавлен в Nopcommerce
- 23. Как вызывать строки в фрагменте из активности?
- 24. Как уведомить адаптер в фрагменте из активности?
- 25. TabLayout в фрагменте затенен заголовком активности
- 26. Как назвать метод активности в Фрагменте?
- 27. RecyclerView в фрагменте утечки родительской активности
- 28. Вызов нестационарного метода в фрагменте из активности?
- 29. Узнайте, в каком месте на жестком диске установлена программа/файл
- 30. В каком файле был включен заголовок?
Мне нравится второе решение гораздо больше, чем первое. Фрагменты должны, насколько это возможно, быть независимыми от действий, которые их размещают (это своего рода точка использования фрагментов). –
Я полностью согласен с @BobbyStJacques, «более модульный подход» всегда лучше в абсолютно любой ситуации кодирования. Я только показал первый для полноты. – Budius
Спасибо, хорошо сработал для меня. – Daniel