Как переслать Код запроса другим Фрагментам / Активам - PullRequest
0 голосов
/ 24 октября 2019

Предположим, у меня есть 3 фрагмента:

  • A
  • B
  • C

Фрагмент 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. проблема, с которой я сталкиваюсь, заключается в том, что второй случай не запускается.

Надеюсь, я предоставил достаточно информации.

...