android - 片段的 ViewModel
问题描述
我正在尝试创建片段的 ViewModel 并且在 ViewModel 的构造函数中我需要传递 Application 但我不知道如何做到这一点有人可以帮忙。谢谢你。
public class HomeFragment extends Fragment {
private CodeDetailsViewModel codeDetailsViewModel;
public View onCreateView(@NonNull LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
codeDetailsViewModel =
new ViewModelProvider(this, new ViewModelProvider.AndroidViewModelFactory(/*application*/)).get(CodeDetailsViewModel.class);
View root = inflater.inflate(R.layout.fragment_home, container, false);
return root;
}
}
解决方案
如果CodeDetailsViewModel
extendsAndroidViewModel
那么构造函数将收到Application
. 请参阅: https ://developer.android.com/reference/androidx/lifecycle/AndroidViewModel 。
推荐阅读
- spring-integration - Java:MQTT MessageProducerSupport to Flux
- java - 求解给定方法和类计算点 x 和 y 的距离
- angular - 如何使用角度输入在 nouislider 设置值
- python - 如何使用监听和通知机制不断轮询 Postgresql 中的表?
- r - 不同长度列表的直方图
- stata - Stata:组合和排序类别
- c# - Newtonsoft.Json.JsonReaderException:遇到意外的字符
- python - 使用特定键过滤带有字典列的 pandas DataFrame
- rust - 使用 Rust,您如何在发布到 crate.io 之前执行平台测试?
- kubernetes-custom-resources - 在 k8s 运算符中,如何将 CRD 规范中的唯一 metadata.name 链接到我的服务器生成的唯一对象 ID