我有一个自定义的全局类,看起来像这样
import android.app.Application;
public class MyApp extends Application {
public String MainAct;
public String getMainAct() {
return MainAct;
}
public void setMainAct(String mainAct) {
MainAct = mainAct;
}
}
Run Code Online (Sandbox Code Playgroud)
我想Activity在其onCreate方法中通过另一个字符串保留此类中的字符串.
String local = "myLocalVariable";
((MyApp) getApplication()).setMainAct(local); //breaks here!!!
String name = ((MyApp) getApplication()).getMainAct();
Run Code Online (Sandbox Code Playgroud)
它在标记的行上打破了错误: Caused by: java.lang.ClassCastException: android.app.Application cannot be cast to com.xxx.yyy.global.MyApp
我已经检查了五次代码,我无法在任何地方找到错误.谁能告诉我错误在哪里?!
谢谢
K-b*_*llo 448
该错误表明返回的对象的类型getApplication是android.app.Application.可能的原因是您无法在清单中定义应用程序.确保您的清单包含以下内容:
<application android:name=".MyApp"...
</application>
Run Code Online (Sandbox Code Playgroud)
Val*_*Val 11
旧版Android设备或模拟器的另一种解决方案.您在清单中定义了一个应用程序:
<application
android:name=".MyApp"...
</application>
Run Code Online (Sandbox Code Playgroud)
但你还有这个问题吗?
尝试禁用即时运行:
| 归档时间: |
|
| 查看次数: |
65516 次 |
| 最近记录: |