我有一个看起来像这样的自定义全局类
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 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
返回的对象类型是android.app.Application
。造成这种情况的一个可能原因是您未能在 list 中定义应用程序。确保您的 list 包含以下内容:
<application android:name=".MyApp"...
</application>
关于android - 自定义全局应用程序类中断与 "android.app.Application cannot be cast to",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10607392/