Получить активность, которая называется родительской активностью фрагмента
В моем фрагменте у меня есть кнопка "отклонить", которая должна вести себя по-разному, в зависимости от того, какое действие вызвало родительское действие (скажем, TutorialActivity).
В TutorialActivity я уже определяю, какое действие вызвало его. Как передать эти данные во фрагмент?
Мои фрагменты находятся в PagerAdapter, и мне не хотелось бы каждый раз передавать эту информацию в качестве параметра 'newInstance()', так как это кажется излишним, учитывая, что этот параметр будет одинаковым для каждого фрагмента в моем FragmentStatePagerAdapter.
2 ответа
Что я в итоге сделал: я реализовал "другое поведение" в самом TutorialActivity, переместив кнопку "отменить" вверх от фрагмента. Затем простой onClickListener и оператор switch внутри него.
Вы можете получить доступ к переменной из Tutorial Activity, сделав эту переменную общедоступной. Предположим, имя переменной является родительским. Вы можете получить к нему доступ, используя экземпляр TutorailActivity (предположим, что экземпляром Activity, используемым во фрагменте, является mTutorialActivity), тогда он должен быть похож на mTutorialActivity.parent. Но вам нужно передать экземпляр TutorialActivity, так как он может использоваться для других целей, например, для извлечения строк из strings.xml и других целей. Поэтому было бы полезно передать экземпляр Activity вместо переменной.