cla*_*amp 12 android startup classcastexception android-activity
我在android中有一个简单的活动程序.基本上这个类只是扩展Activity.但是当我启动它时,我在我的类的构造函数中得到一个ClassCastException.我甚至没有定义构造函数,所以它必须在超类的构造函数中是Activity.
不幸的是,调试器没有提供有关它正在尝试强制转换的类的任何详细信息.
这是堆栈跟踪:
Thread [<1> main] (Suspended (exception RuntimeException))
ActivityThread$PackageInfo.makeApplication(boolean, Instrumentation) line: 649
ActivityThread.handleBindApplication(ActivityThread$AppBindData) line: 4232
ActivityThread.access$3000(ActivityThread, ActivityThread$AppBindData) line: 125
ActivityThread$H.handleMessage(Message) line: 2071
ActivityThread$H(Handler).dispatchMessage(Message) line: 99
Looper.loop() line: 123
ActivityThread.main(String[]) line: 4627
Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]
Method.invoke(Object, Object...) line: 521
ZygoteInit$MethodAndArgsCaller.run() line: 868
ZygoteInit.main(String[]) line: 626
NativeStart.main(String[]) line: not available [native method]
Run Code Online (Sandbox Code Playgroud)
当我查看runtimeexception时,我得到:
detailMessage "Unable to instantiate application com.test.MyApp: java.lang.ClassCastException: com.test.MyApp" (id=830067694464)
唯一的代码是
package com.test;
import android.app.Activity;
public class MyApp extends Activity {
}
Run Code Online (Sandbox Code Playgroud)
Max*_*kiy 24
AndroidManifest.xmlapplicationandroid:name(如果存在)android:name="android.app.Application"这就是我所做的,问题已经消失.
PS:在步骤4中使用自定义应用程序类名称(如果有)(可选).
小智 5
我有同样的问题.
在我的例子中,我有一个扩展应用程序的类,它在清单文件中作为应用程序标记的属性引用.
当我重新考虑类时,Eclipse没有在清单中包含引用(可以理解但令人沮丧和令人困惑),这导致了这个问题.
这也与马克西姆的答案有关,但解释似乎是差异.
当我更改属性名称以匹配我重命名的文件时,问题已解决.
| 归档时间: |
|
| 查看次数: |
25827 次 |
| 最近记录: |