我正在使用MVVM和DataBinding构建Android应用程序.我在ViewModel中有一个函数来启动一个Activity.是否可以在ViewModel中进行onClick调用?
像这样.
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);
}
}
Run Code Online (Sandbox Code Playgroud)
在我的XML中:
...
android:onClick="@{(v) -> viewModel.onClick(v, viewModel.product.id)}">
Run Code Online (Sandbox Code Playgroud)
或者将它移动到View并从EventBus或Rx调用它并在我的ViewModel中只有POJO是最佳做法吗?