Передайте данные onActivityResult() в тот же фрагмент, который еще не готов

Я использую Fragment начать новый Activity с помощью startActivityForResult()Я получаю результат (Bundle) в onActivityResult() метод. onActivityResult() вызывается раньше onResume(). Я хочу убедиться, что я сохраняю / сохраняю Bundle правильно, чтобы при Fragment'sonResume() мне позвонили, я получил сохраненный / сохраненный результат для выполнения дальнейших действий.

Каковы различные способы достижения этого. Я попытался использовать getArguments () / setArguments (), но это, кажется, не правильный путь для достижения этой цели.

1 ответ

Попробуй это

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == MY_REQUEST) {
        // Make sure the request was successful
        if (resultCode == RESULT_OK) {
            mResultBundle = data.getExtras(); //mResultBundle is in fragment 
            //scope
        }
    }
}

@Override
protected void onResume(){
    super.onResume();
    if(mResultBundle != null){
       // process saved bundle from activity result here

       // don't forget to set it back to null once you are done
       mResultBundle = null;
    }
}
Другие вопросы по тегам