【发布时间】:2017-03-21 09:30:11
【问题描述】:
我正在使用 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);
}
}
在我的 XML 中:
...
android:onClick="@{(v) -> viewModel.onClick(v, viewModel.product.id)}">
或者将它移动到 View 并从 EventBus 或 Rx 调用它并且我的 ViewModel 中只有 POJO 是否是最佳实践?
【问题讨论】:
标签: android mvvm android-databinding decoupling