【发布时间】:2018-02-27 06:25:11
【问题描述】:
除了应用程序上下文之外,有没有办法将附加参数传递给我的自定义 AndroidViewModel 构造函数。
示例:
public class MyViewModel extends AndroidViewModel {
private final LiveData<List<MyObject>> myObjectList;
private AppDatabase appDatabase;
public MyViewModel(Application application, String param) {
super(application);
appDatabase = AppDatabase.getDatabase(this.getApplication());
myObjectList = appDatabase.myOjectModel().getMyObjectByParam(param);
}
}
当我想使用我的自定义 ViewModel 类时,我在我的片段中使用此代码:
MyViewModel myViewModel = ViewModelProvider.of(this).get(MyViewModel.class)
所以我不知道如何将附加参数 String param 传递给我的自定义 ViewModel。我只能传递应用程序上下文,但不能传递其他参数。我真的很感激任何帮助。谢谢你。
编辑:我添加了一些代码。我希望现在更好。
【问题讨论】:
-
添加更多细节和代码
-
错误信息是什么?
-
没有错误信息。我根本不知道在哪里为构造函数设置参数,因为 ViewModelProvider 用于创建 AndroidViewModel 对象。
标签: android mvvm viewmodel android-components