【发布时间】:2018-02-27 23:39:14
【问题描述】:
我正在研究 Google 的 Android 蓝图 MVVM 数据绑定示例 (https://github.com/googlesamples/android-architecture/tree/todo-mvvm-databinding/)
我注意到视图模型的依赖项是通过片段传递的。
public static TaskDetailFragment newInstance(String taskId) {
Bundle arguments = new Bundle();
arguments.putString(ARGUMENT_TASK_ID, taskId);
TaskDetailFragment fragment = new TaskDetailFragment();
fragment.setArguments(arguments);
return fragment;
}
@Override
public void onResume() {
super.onResume();
mViewModel.start(getArguments().getString(ARGUMENT_TASK_ID));
}
上例中的任务id不能传入viewmodel的构造函数吗?并且片段忘记了任务ID?
有人可以解释这样做的目的/好处吗?
谢谢!
【问题讨论】:
-
这是一个 ViewModel,其作用域是刚刚创建的 Fragment,它发生在
onCreate()中,不是吗?如果不通过arguments将taskId传递给Fragment,就无法将taskId转换为onCreate。
标签: android android-fragments mvvm dependencies