我正在使用ViewModel
在Fragments
之间共享数据。此Fragment
也用在应用程序的多个部分中。因此,我认为最好定义一个非抽象类,该类定义ViewModels
使用的方法,该方法需要使用Fragment
并允许简单的共享ViewModel
使用。但我似乎错了...
当我尝试将非抽象的“基本”类转换为ViewModel
实现类时,我收到一个ClassCastException: com.project.viewmodel.NonAbstractBaseViewModel cannot be cast to com.project.viewmodel.ImplementationViewModel
运行时错误。
我的代码导致ClassCastException
:
// Scoping to the Activity because this is a shared ViewModel between Fragments.
ImplementationViewModel viewModel = (ImplementationViewModel) ViewModelProviders.of(getActivity())
.get(NonAbstractBaseViewModel.class);
是否可以投射ViewModel
?难道我做错了什么?任何输入都是有帮助的。谢谢。