Zak*_*rdi 2 android android-architecture-lifecycle android-architecture-components
我有一个ViewPager,我在其中显示了PetFragment. 要创建 a 的新实例PetFragment,我调用PetFragment.newInstance(petId).
我想要一个单独的ViewModel实例petId。但ViewModelProvider.Factory#create()只将 aClass<T>作为参数。我如何实现这一目标?
看一看ViewModelProvider.get(@NonNull String key, @NonNull Class<T> modelClass),您应该能够通过键存储特定类的多个 ViewModel。
ViewModelProvider.get(@NonNull Class<T> modelClass) 只需使用默认键调用第一个方法。
get 调用与ViewModelStorewhich交互,它是 a 的包装器HashMap<String, ViewModel>,它应该允许您ViewModel为相同类型的 Fragment存储各种s,只要每个 s 都有一个唯一的键来标识它应该显示的内容。
| 归档时间: |
|
| 查看次数: |
2077 次 |
| 最近记录: |