是否可以将非抽象的ViewModel强制转换为对其进行扩展的另一个ViewModel?

时间:2019-11-21 16:14:49

标签: android mvvm classcastexception androidx android-viewmodel

我正在使用ViewModelFragments之间共享数据。此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?难道我做错了什么?任何输入都是有帮助的。谢谢。

0 个答案:

没有答案