Les meilleures pratiques pour Android MVVM startActivity

Je suis de la construction d'une Application Android utilisant MVVM et la liaison de données. Et j'ai une fonction à l'intérieur de mon ViewModel qui démarre une Activité.
Est-il normal d'avoir un onClick appel à l'intérieur d'un ViewModel?

Comme ça.

public class MyViewModel {
    public void onClick(View view, long productId) {
        Context context = view.getContext();
        Intent intent = new Intent(context, ProductDetailActivity.class);
        intent.putExtra("productId", productId);
        context.startActivity(intent);
    }
}

Et dans mon XML:

...
android:onClick="@{(v) -> viewModel.onClick(v, viewModel.product.id)}">

Ou serait-il une meilleure pratique pour la déplacer vers la Vue et de l'appeler à partir d'EventBus ou Rx et ont seulement POJO dans mon ViewModel?

OriginalL'auteur Felipe Kenji Shiba | 2016-11-07