Чтобы уточнить принятый ответ:
(1) Создайте модель общего представления, которая будет использоваться для обмена данными между фрагментами в рамках этого действия.
public class SharedViewModel extends ViewModel {
private final MutableLiveData<Double> aDouble = new MutableLiveData<>();
public void setDouble(Double aDouble) {
this.aDouble.setValue(aDouble);
}
public LiveData<Double> getDouble() {
return aDouble;
}
}
(2) Storeданные, которые вы хотели бы получить в представлении модели.Обратите внимание на область действия модели представления (getActivity).
SharedViewModel svm =ViewModelProviders.of(getActivity()).get(SharedViewModel.class);
svm.setDouble(someDouble);
(3) Пусть фрагмент реализует интерфейс обратного вызова диалога и загружает диалоговое окно без установки целевого фрагмента.
fragment.setOnDialogSubmitListener(this);
fragment.show(getActivity().getSupportFragmentManager(), TAG);
(4) Внутри диалогового окна извлеките данные.
SharedViewModel svm =ViewModelProviders.of(getActivity()).get(SharedViewModel.class);
svm.getDouble().observe(this, new Observer<Double>() {
@Override
public void onChanged(Double aDouble) {
// do what ever with aDouble
}
});