相关疑难解决方法(0)

Android MVVM startActivity的最佳实践

我正在使用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是最佳做法吗?

android mvvm decoupling android-databinding

31
推荐指数
3
解决办法
2万
查看次数

标签 统计

android ×1

android-databinding ×1

decoupling ×1

mvvm ×1