Comparta ViewModel entre fragmentos que se encuentran en Actividad diferente

Tengo un ViewModel llamado SharedViewModel:

public class SharedViewModel<T> extends ViewModel {

    private final MutableLiveData<T> selected = new MutableLiveData<>();


    public void select(T item) {
        selected.setValue(item);
    }

    public LiveData<T> getSelected() {
        return selected;
    }
}

Lo implemento basado en el ejemplo SharedViewModel en la página de referencia Arch ViewModel de Google:

https://developer.android.com/topic/libraries/architecture/viewmodel.html#sharing_data_between_fragments

Es muy común que dos o más fragmentos de una actividad necesiten comunicarse entre sí. Esto nunca es trivial ya que ambos fragmentos necesitan definir alguna descripción de la interfaz y la actividad del propietario debe unir los dos. Además, ambos fragmentos deben manejar el caso donde el otro fragmento aún no se ha creado o no es visible.

Tengo dos fragmentos, llamadosListFragment yDetailFragment.

Hasta ahora usé estos dos fragmentos dentro de un llamadoMasterActivity. Y todo funcionó bien.

Tengo el ViewModel enListFragment, seleccionó el valor para usarloDetailFragment.

mStepSelectorViewModel = ViewModelProviders.of(getActivity()).get(SharedViewModel.class);

Sin embargo, ahora necesito eso en ciertos casos queListFragment (un diseño para una configuración de dispositivo diferente) se agregará a una actividad diferente, llamadaDetailActivity. ¿Hay alguna manera de hacer eso de manera similar al ejemplo anterior?

Respuestas a la pregunta(5)

Su respuesta a la pregunta