java.lang.ClassCastException:android.app.ContextImpl

java.lang.ClassCastException:android.app.ContextImpl,android,classcastexception,scoreninja,Android,Classcastexception,Scoreninja,我正在尝试将ScoreNinja融入我的小游戏: 但是,每次都会引发运行时异常: 05-24 23:22:59.888: ERROR/AndroidRuntime(21237): FATAL EXCEPTION: main 05-24 23:22:59.888: ERROR/AndroidRuntime(21237): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.shaq.pushcounter/c

我正在尝试将ScoreNinja融入我的小游戏:

但是,每次都会引发运行时异常:

05-24 23:22:59.888: ERROR/AndroidRuntime(21237): FATAL EXCEPTION: main
05-24 23:22:59.888: ERROR/AndroidRuntime(21237): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.shaq.pushcounter/com.shaq.pushcounter.ChickenPushupTimer}: java.lang.ClassCastException: android.app.ContextImpl
05-24 23:22:59.888: ERROR/AndroidRuntime(21237):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1651)
05-24 23:22:59.888: ERROR/AndroidRuntime(21237):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
05-24 23:22:59.888: ERROR/AndroidRuntime(21237):     at android.app.ActivityThread.access$1500(ActivityThread.java:117)
05-24 23:22:59.888: ERROR/AndroidRuntime(21237):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
05-24 23:22:59.888: ERROR/AndroidRuntime(21237):     at android.os.Handler.dispatchMessage(Handler.java:99)
05-24 23:22:59.888: ERROR/AndroidRuntime(21237):     at android.os.Looper.loop(Looper.java:123)
05-24 23:22:59.888: ERROR/AndroidRuntime(21237):     at android.app.ActivityThread.main(ActivityThread.java:3687)
05-24 23:22:59.888: ERROR/AndroidRuntime(21237):     at java.lang.reflect.Method.invokeNative(Native Method)
05-24 23:22:59.888: ERROR/AndroidRuntime(21237):     at java.lang.reflect.Method.invoke(Method.java:507)
05-24 23:22:59.888: ERROR/AndroidRuntime(21237):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842)
05-24 23:22:59.888: ERROR/AndroidRuntime(21237):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
05-24 23:22:59.888: ERROR/AndroidRuntime(21237):     at dalvik.system.NativeStart.main(Native Method)


05-24 23:22:59.888: ERROR/AndroidRuntime(21237): Caused by: java.lang.ClassCastException: android.app.ContextImpl
05-24 23:22:59.888: ERROR/AndroidRuntime(21237):     at com.scoreninja.adapter.ScoreNinjaAdapter.<init>(ScoreNinjaAdapter.java:85)
05-24 23:22:59.888: ERROR/AndroidRuntime(21237):     at com.shaq.pushcounter.ChickenPushupTimer.onCreate(ChickenPushupTimer.java:31)
05-24 23:22:59.888: ERROR/AndroidRuntime(21237):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
05-24 23:22:59.888: ERROR/AndroidRuntime(21237):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
05-24 23:22:59.888: ERROR/AndroidRuntime(21237):     ... 11 more
这是第31行:

scoreNinjaAdapter = new ScoreNinjaAdapter(getBaseContext(), "cockpushups", "71A7AD115870BA0E05C13BE2B9D3F984");

我使用的上下文可能有问题。任何帮助都将不胜感激

如果查看ScoreNinjaAdapter的代码,它会将上下文强制转换为
活动
。尝试使用
this
而不是
getBaseContext
,因为您是从活动中调用的。

另外,我是否应该更改我用于SoundManager的另一个getBaseContext?老实说,我不知道我曾经使用过getBaseContext。我现在找不到它,但我读过谷歌的一篇博文,其中有人直截了当地说“不要使用它”。
scoreNinjaAdapter = new ScoreNinjaAdapter(getBaseContext(), "cockpushups", "71A7AD115870BA0E05C13BE2B9D3F984");