自定义全局应用程序类打破“android.app.Application不能转换为”
我有一个自定义的全局类,看起来像这样
import android.app.Application; public class MyApp extends Application { public String MainAct; public String getMainAct() { return MainAct; } public void setMainAct(String mainAct) { MainAct = mainAct; } }
我想通过onCreate
方法中的另一个Activity
在这个类中保留一个string。
String local = "myLocalVariable"; ((MyApp) getApplication()).setMainAct(local); //breaks here!!! String name = ((MyApp) getApplication()).getMainAct();
它在标记的行上出现错误: Caused by: java.lang.ClassCastException: android.app.Application cannot be cast to com.xxx.yyy.global.MyApp
我已经检查了五次代码,我找不到任何地方的错误。 谁能告诉我错误在哪里?!
谢谢
该错误指出getApplication
返回的对象的types是android.app.Application
。 一个可能的原因是你没有在清单中定义应用程序。 确保你的清单包含以下内容:
<application android:name=".MyApp"... </application>
针对较旧Android设备或模拟器的另一个解决scheme。 您在清单中定义了一个应用程序:
<application android:name=".MyApp"... </application>
但是你仍然有这个问题?
尝试禁用即时运行:
- 禁用即时运行
- 清理并重build项目
- 从设备中删除应用程序,然后重新安装,无需即时运行
- 如何使相机居中,使标记位于屏幕底部? (Google map api V2 Android)
- Google Map Api v2在日志中显示“V / GoogleSignatureVerifier:签名无效”错误消息
- 更新到版本30后缺less“<sdk> / extras / google / google_play_services / libproject”文件夹
- 如何使用android exoplayer
- WebView在执行onReceivedSslError时避免来自Google play的安全警报
- Android NDK教程/初学者指南。
- 如何将currentTimeMillis转换为可读的date格式?
- AOSP的Android设备configuration
- Android中的stringdate/时间对象