2016-09-27 2 views
-1

У меня есть активность А, внутри этой деятельности есть один фрагмент, называемый F1, и внутри этого фрагмента у меня есть другой фрагмент F2. От F2 я вызвал startActivityForResult (/ Деятельность B /), а затем, когда заканчивается активность B. onActivityResult() фрагмента F2, вызывается, но я хочу, чтобы то же самое происходило в F1. Я хочу, чтобы Фрагмент F1 должен получить событие, когда действие B закончено. Любая помощь по этому поводу оценивается.Как отправить результат от активности к фрагменту

+0

В методе обратного вызова вы можете вызвать другой метод фрагмента F1 –

+0

Не рекомендуется создавать объект и напрямую обращаться к методам другого фрагмента. – Jagadeesh

+1

да, я знаю, вы можете использовать интерфейс для этого –

ответ

0

Привет Вам нужно получить текущую форму фрагмента менеджера фрагмента в

onActivityResult() Method. 

Просто сделать вызов Activity к методу фрагмента onActivityResult().

CustomFragment fragment = (CustomFragment) getFragmentManager().findFragmentByTag(getFragmentManager().getLastBackStackEntry()); 
fragment.onActivityResult(); 

Вы можете использовать эту технику.

0

Вы, скорее всего, звоните StartActivityForResult из вашего F2 фрагмента. Поскольку вы не хотите, чтобы результат возвращался на F2, вам нужно вызвать этот метод на фрагменте F1.

Было бы неплохо увидеть какой-то код, чтобы увидеть, что вы на самом деле делаете.

0

С вашего вопроса кажется, что F2 является фрагментом детского фрагмента для F1.

Если так вы можете вызвать метод startActivityForResult из фрагмента F2, как показано ниже:

getParentFragment().startActivityForResult(intent, requestCode); 

Теперь, когда вы закончите вторую деятельность, он будет автоматически вызывать onActivityResult() метод родительского фрагмента (т.е. фрагмент F1).

Смежные вопросы