来自 florina-muntenescu 的MVVM示例代码。
在 DroidconApplication.java 中,在 MainActivity 中声明并调用了一个getViewModel()方法。
因此我想将它实现到我的项目中,我在自定义应用程序中声明了同样的事情,将应用程序实现到 AndroidManifest.xml ,但是找不到getViewModel()我的 MainActivity 。
我搜索了答案,首先通过
获取自定义应用程序 Application app = (CustomApplication) getApplication();
并通过app引用调用方法。
那为什么不和示例代码一样?
我错了什么?
答案 0 :(得分:0)
你试过这个
Application app = (CustomApplication) getApplication();
app.getViewModel();
app.getViewModel()
无效,因为getViewModel()
类中实际存在CustomApplication
。它将在运行时工作,因为app是CustomApplication
的实例,但在编译时,编译器无法理解app
实际上是CustomApplication
的实例。
所以使用这个:
CustomApplication app = (CustomApplication) getApplication();
app.getViewModel();