Предположим, у меня есть 3 фрагмента:
Фрагмент A вызывает Fragment B с помощью startActivityForResult и возвращает результат в Fragment A , что идеально.
Теперь моя проблема с Fragment C когда он вызывает Fragment B с помощью startActivityForResult Fragment B возвращает результат во фрагмент C , который не является тем, что я хочу, яхотите, чтобы фрагмент B возвратил результат во фрагмент A .
Вот как выглядит фрагмент кода:
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode){
case FRAGMENT_A_REQUEST_CODE:
Snackbar.make(mView, "List Created", Snackbar.LENGTH_SHORT).show();
break;
case FragmentC.FRAGMENT_C_REQUEST_CODE:
Snackbar.make(mView, "List Upated", Snackbar.LENGTH_SHORT).show();
break;
}
}
public void onClick(View v) {
//Starting Fragment B
Intent intent = ActivityB.newIntent(getContext());
startActivityForResult(intent,FRAGMENT_A_REQUEST_CODE);
}
Вот как выглядит код фрагмента C: public void onClick (View v) {
//Starting Fragment B
Intent intent = ActivityB.newIntent(getContext());
startActivityForResult(intent,FRAGMENT_C_REQUEST_CODE);
}
Фрагмент A обрабатывает коды запроса и на основе кода запроса показывает соответствующее сообщение Snackbar. проблема, с которой я сталкиваюсь, заключается в том, что второй случай не запускается.
Надеюсь, я предоставил достаточно информации.