2012-03-23 11 views
7

Dostaję wyjątek klasa rzucania mianowiciejava.lang.ClassCastException: android.app.Application nie mogą być oddane do greendroid.app.GDApplication

java.lang.ClassCastException: android.app.Application cannot be cast to greendroid.app.GDApplication

gdy próbuję użyć zielony biblioteka droidów w moim projekcie. Oto kod, którego dotyczy problem. Próbowałem dowiedzieć się, co się dzieje, ale wciąż nie ma szczęścia. Wszelka pomoc będzie doceniona. Dziękuję Ci.

public class MainMenu extends GDActivity{ 
    private QuickActionWidget mBar; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setActionBarContentView(R.layout.mainmenu); 
     mBar = new QuickActionBar(this); 
     mBar.addQuickAction(new QuickAction(this, R.drawable.food, "food")); 

Button foodButton=(Button)findViewById(R.id.food); 




foodButton.setOnClickListener(new View.OnClickListener() { 

@Override 
public void onClick(View v) { 
    // TODO Auto-generated method stub 
    mBar.show(v); 

} 
}); 


} 

    } 

Oto moja mainmenu.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:background="@drawable/back" 
android:orientation="vertical" > 
<RelativeLayout 

    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"> 
<RelativeLayout 
    android:layout_alignParentBottom="true" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"> 
    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="80dp" 
     android:id="@+id/menu" 
     android:background="@drawable/menu"></Button> 
    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="80dp" 
     android:id="@+id/food" 
     android:layout_toRightOf="@id/menu" 
     android:background="@drawable/food"></Button> 

</RelativeLayout> 
</LinearLayout> 

To moja LogCat.

> 03-23 10:21:27.887: D/dalvikvm(395): GC_FOR_ALLOC freed 54K, 4% free 6389K/6595K, paused 48ms 
03-23 10:21:27.937: I/dalvikvm-heap(395): Grow heap (frag case) to 10.253MB for 4096016-byte allocation 
03-23 10:21:28.018: D/dalvikvm(395): GC_FOR_ALLOC freed <1K, 3% free 10389K/10631K, paused 47ms 
03-23 10:21:28.128: D/dalvikvm(395): GC_CONCURRENT freed <1K, 3% free 10389K/10631K, paused 3ms+2ms 
03-23 10:21:28.967: V/TLINE(395): new: [email protected] 
03-23 10:21:36.497: D/AndroidRuntime(395): Shutting down VM 
03-23 10:21:36.497: W/dalvikvm(395): threadid=1: thread exiting with uncaught exception (group=0x40014760) 
03-23 10:21:36.507: E/AndroidRuntime(395): FATAL EXCEPTION: main 
03-23 10:21:36.507: E/AndroidRuntime(395): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.bombil.ramada/com.bombil.ramada.MainMenu}: java.lang.ClassCastException: android.app.Application cannot be cast to greendroid.app.GDApplication 
03-23 10:21:36.507: E/AndroidRuntime(395): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1748) 
03-23 10:21:36.507: E/AndroidRuntime(395): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1764) 
03-23 10:21:36.507: E/AndroidRuntime(395): at android.app.ActivityThread.access$1500(ActivityThread.java:122) 
03-23 10:21:36.507: E/AndroidRuntime(395): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1002) 
03-23 10:21:36.507: E/AndroidRuntime(395): at android.os.Handler.dispatchMessage(Handler.java:99) 
03-23 10:21:36.507: E/AndroidRuntime(395): at android.os.Looper.loop(Looper.java:132) 
03-23 10:21:36.507: E/AndroidRuntime(395): at android.app.ActivityThread.main(ActivityThread.java:4025) 
03-23 10:21:36.507: E/AndroidRuntime(395): at java.lang.reflect.Method.invokeNative(Native Method) 
03-23 10:21:36.507: E/AndroidRuntime(395): at java.lang.reflect.Method.invoke(Method.java:491) 
03-23 10:21:36.507: E/AndroidRuntime(395): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841) 
03-23 10:21:36.507: E/AndroidRuntime(395): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599) 
03-23 10:21:36.507: E/AndroidRuntime(395): at dalvik.system.NativeStart.main(Native Method) 
03-23 10:21:36.507: E/AndroidRuntime(395): Caused by: java.lang.ClassCastException: android.app.Application cannot be cast to greendroid.app.GDApplication 
03-23 10:21:36.507: E/AndroidRuntime(395): at greendroid.app.GDActivity.getGDApplication(GDActivity.java:205) 
03-23 10:21:36.507: E/AndroidRuntime(395): at greendroid.app.GDActivity.onCreate(GDActivity.java:147) 
03-23 10:21:36.507: E/AndroidRuntime(395): at com.bombil.ramada.MainMenu.onCreate(MainMenu.java:18) 
03-23 10:21:36.507: E/AndroidRuntime(395): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048) 
03-23 10:21:36.507: E/AndroidRuntime(395): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1712) 
03-23 10:21:36.507: E/AndroidRuntime(395): ... 11 more 
03-23 10:22:58.089: D/dalvikvm(446): GC_FOR_ALLOC freed 55K, 4% free 6389K/6595K, paused 48ms 
03-23 10:22:58.128: I/dalvikvm-heap(446): Grow heap (frag case) to 10.253MB for 4096016-byte allocation 
03-23 10:22:58.207: D/dalvikvm(446): GC_FOR_ALLOC freed <1K, 3% free 10389K/10631K, paused 46ms 
03-23 10:22:58.308: D/dalvikvm(446): GC_CONCURRENT freed <1K, 3% free 10389K/10631K, paused 4ms+2ms 
03-23 10:22:59.317: V/TLINE(446): new: [email protected] 
03-23 10:23:01.357: D/AndroidRuntime(446): Shutting down VM 
03-23 10:23:01.357: W/dalvikvm(446): threadid=1: thread exiting with uncaught exception (group=0x40014760) 
03-23 10:23:01.367: E/AndroidRuntime(446): FATAL EXCEPTION: main 
03-23 10:23:01.367: E/AndroidRuntime(446): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.bombil.ramada/com.bombil.ramada.MainMenu}: java.lang.ClassCastException: android.app.Application cannot be cast to greendroid.app.GDApplication 
03-23 10:23:01.367: E/AndroidRuntime(446): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1748) 
03-23 10:23:01.367: E/AndroidRuntime(446): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1764) 
03-23 10:23:01.367: E/AndroidRuntime(446): at android.app.ActivityThread.access$1500(ActivityThread.java:122) 
03-23 10:23:01.367: E/AndroidRuntime(446): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1002) 
03-23 10:23:01.367: E/AndroidRuntime(446): at android.os.Handler.dispatchMessage(Handler.java:99) 
03-23 10:23:01.367: E/AndroidRuntime(446): at android.os.Looper.loop(Looper.java:132) 
03-23 10:23:01.367: E/AndroidRuntime(446): at android.app.ActivityThread.main(ActivityThread.java:4025) 
03-23 10:23:01.367: E/AndroidRuntime(446): at java.lang.reflect.Method.invokeNative(Native Method) 
03-23 10:23:01.367: E/AndroidRuntime(446): at java.lang.reflect.Method.invoke(Method.java:491) 
03-23 10:23:01.367: E/AndroidRuntime(446): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841) 
03-23 10:23:01.367: E/AndroidRuntime(446): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599) 
03-23 10:23:01.367: E/AndroidRuntime(446): at dalvik.system.NativeStart.main(Native Method) 
03-23 10:23:01.367: E/AndroidRuntime(446): Caused by: java.lang.ClassCastException: android.app.Application cannot be cast to greendroid.app.GDApplication 
03-23 10:23:01.367: E/AndroidRuntime(446): at greendroid.app.GDActivity.getGDApplication(GDActivity.java:205) 
03-23 10:23:01.367: E/AndroidRuntime(446): at greendroid.app.GDActivity.onCreate(GDActivity.java:147) 
03-23 10:23:01.367: E/AndroidRuntime(446): at com.bombil.ramada.MainMenu.onCreate(MainMenu.java:18) 
03-23 10:23:01.367: E/AndroidRuntime(446): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048) 
03-23 10:23:01.367: E/AndroidRuntime(446): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1712) 
03-23 10:23:01.367: E/AndroidRuntime(446): ... 11 more 
03-23 10:26:58.047: D/dalvikvm(490): GC_FOR_ALLOC freed 54K, 5% free 6311K/6595K, paused 100ms 
03-23 10:26:58.097: I/dalvikvm-heap(490): Grow heap (frag case) to 10.176MB for 4096016-byte allocation 
03-23 10:26:58.167: D/dalvikvm(490): GC_FOR_ALLOC freed <1K, 4% free 10310K/10631K, paused 39ms 
03-23 10:26:58.267: D/dalvikvm(490): GC_CONCURRENT freed <1K, 4% free 10310K/10631K, paused 5ms+4ms 
03-23 10:26:59.298: V/TLINE(490): new: [email protected] 
03-23 10:27:07.167: D/AndroidRuntime(490): Shutting down VM 
03-23 10:27:07.167: W/dalvikvm(490): threadid=1: thread exiting with uncaught exception (group=0x40014760) 
03-23 10:27:07.177: E/AndroidRuntime(490): FATAL EXCEPTION: main 
03-23 10:27:07.177: E/AndroidRuntime(490): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.bombil.ramada/com.bombil.ramada.MainMenu}: java.lang.ClassCastException: android.app.Application cannot be cast to greendroid.app.GDApplication 
03-23 10:27:07.177: E/AndroidRuntime(490): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1748) 
03-23 10:27:07.177: E/AndroidRuntime(490): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1764) 
03-23 10:27:07.177: E/AndroidRuntime(490): at android.app.ActivityThread.access$1500(ActivityThread.java:122) 
03-23 10:27:07.177: E/AndroidRuntime(490): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1002) 
03-23 10:27:07.177: E/AndroidRuntime(490): at android.os.Handler.dispatchMessage(Handler.java:99) 
03-23 10:27:07.177: E/AndroidRuntime(490): at android.os.Looper.loop(Looper.java:132) 
03-23 10:27:07.177: E/AndroidRuntime(490): at android.app.ActivityThread.main(ActivityThread.java:4025) 
03-23 10:27:07.177: E/AndroidRuntime(490): at java.lang.reflect.Method.invokeNative(Native Method) 
03-23 10:27:07.177: E/AndroidRuntime(490): at java.lang.reflect.Method.invoke(Method.java:491) 
03-23 10:27:07.177: E/AndroidRuntime(490): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841) 
03-23 10:27:07.177: E/AndroidRuntime(490): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599) 
03-23 10:27:07.177: E/AndroidRuntime(490): at dalvik.system.NativeStart.main(Native Method) 
03-23 10:27:07.177: E/AndroidRuntime(490): Caused by: java.lang.ClassCastException: android.app.Application cannot be cast to greendroid.app.GDApplication 
03-23 10:27:07.177: E/AndroidRuntime(490): at greendroid.app.GDActivity.getGDApplication(GDActivity.java:205) 
03-23 10:27:07.177: E/AndroidRuntime(490): at greendroid.app.GDActivity.onCreate(GDActivity.java:147) 
03-23 10:27:07.177: E/AndroidRuntime(490): at com.bombil.ramada.MainMenu.onCreate(MainMenu.java:18) 
03-23 10:27:07.177: E/AndroidRuntime(490): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048) 
03-23 10:27:07.177: E/AndroidRuntime(490): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1712) 
03-23 10:27:07.177: E/AndroidRuntime(490): ... 11 more 
03-23 10:31:49.177: D/dalvikvm(567): GC_FOR_ALLOC freed 56K, 4% free 6389K/6595K, paused 47ms 
03-23 10:31:49.227: I/dalvikvm-heap(567): Grow heap (frag case) to 10.253MB for 4096016-byte allocation 
03-23 10:31:49.297: D/dalvikvm(567): GC_FOR_ALLOC freed <1K, 3% free 10389K/10631K, paused 40ms 
03-23 10:31:49.398: D/dalvikvm(567): GC_CONCURRENT freed <1K, 3% free 10389K/10631K, paused 3ms+2ms 
03-23 10:31:50.468: V/TLINE(567): new: [email protected] 
03-23 10:31:52.377: D/AndroidRuntime(567): Shutting down VM 
03-23 10:31:52.387: W/dalvikvm(567): threadid=1: thread exiting with uncaught exception (group=0x40014760) 
03-23 10:31:52.398: E/AndroidRuntime(567): FATAL EXCEPTION: main 
03-23 10:31:52.398: E/AndroidRuntime(567): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.bombil.ramada/com.bombil.ramada.MainMenu}: java.lang.ClassCastException: android.app.Application cannot be cast to greendroid.app.GDApplication 
03-23 10:31:52.398: E/AndroidRuntime(567): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1748) 
03-23 10:31:52.398: E/AndroidRuntime(567): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1764) 
03-23 10:31:52.398: E/AndroidRuntime(567): at android.app.ActivityThread.access$1500(ActivityThread.java:122) 
03-23 10:31:52.398: E/AndroidRuntime(567): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1002) 
03-23 10:31:52.398: E/AndroidRuntime(567): at android.os.Handler.dispatchMessage(Handler.java:99) 
03-23 10:31:52.398: E/AndroidRuntime(567): at android.os.Looper.loop(Looper.java:132) 
03-23 10:31:52.398: E/AndroidRuntime(567): at android.app.ActivityThread.main(ActivityThread.java:4025) 
03-23 10:31:52.398: E/AndroidRuntime(567): at java.lang.reflect.Method.invokeNative(Native Method) 
03-23 10:31:52.398: E/AndroidRuntime(567): at java.lang.reflect.Method.invoke(Method.java:491) 
03-23 10:31:52.398: E/AndroidRuntime(567): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841) 
03-23 10:31:52.398: E/AndroidRuntime(567): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599) 
03-23 10:31:52.398: E/AndroidRuntime(567): at dalvik.system.NativeStart.main(Native Method) 
03-23 10:31:52.398: E/AndroidRuntime(567): Caused by: java.lang.ClassCastException: android.app.Application cannot be cast to greendroid.app.GDApplication 
03-23 10:31:52.398: E/AndroidRuntime(567): at greendroid.app.GDActivity.getGDApplication(GDActivity.java:205) 
03-23 10:31:52.398: E/AndroidRuntime(567): at greendroid.app.GDActivity.onCreate(GDActivity.java:147) 
03-23 10:31:52.398: E/AndroidRuntime(567): at com.bombil.ramada.MainMenu.onCreate(MainMenu.java:18) 
03-23 10:31:52.398: E/AndroidRuntime(567): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048) 
03-23 10:31:52.398: E/AndroidRuntime(567): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1712) 
03-23 10:31:52.398: E/AndroidRuntime(567): ... 11 more 
03-23 10:32:23.498: I/Process(567): Sending signal. PID: 567 SIG: 9 
03-23 10:32:31.847: D/dalvikvm(605): GC_FOR_ALLOC freed 57K, 4% free 6389K/6595K, paused 44ms 
03-23 10:32:31.887: I/dalvikvm-heap(605): Grow heap (frag case) to 10.253MB for 4096016-byte allocation 
03-23 10:32:31.967: D/dalvikvm(605): GC_FOR_ALLOC freed <1K, 3% free 10389K/10631K, paused 44ms 
03-23 10:32:32.057: D/dalvikvm(605): GC_CONCURRENT freed <1K, 3% free 10389K/10631K, paused 3ms+2ms 
03-23 10:32:32.857: V/TLINE(605): new: [email protected] 
03-23 10:32:43.418: D/AndroidRuntime(605): Shutting down VM 
03-23 10:32:43.428: W/dalvikvm(605): threadid=1: thread exiting with uncaught exception (group=0x40014760) 
03-23 10:32:43.438: E/AndroidRuntime(605): FATAL EXCEPTION: main 
03-23 10:32:43.438: E/AndroidRuntime(605): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.bombil.ramada/com.bombil.ramada.MainMenu}: java.lang.ClassCastException: android.app.Application cannot be cast to greendroid.app.GDApplication 
03-23 10:32:43.438: E/AndroidRuntime(605): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1748) 
03-23 10:32:43.438: E/AndroidRuntime(605): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1764) 
03-23 10:32:43.438: E/AndroidRuntime(605): at android.app.ActivityThread.access$1500(ActivityThread.java:122) 
03-23 10:32:43.438: E/AndroidRuntime(605): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1002) 
03-23 10:32:43.438: E/AndroidRuntime(605): at android.os.Handler.dispatchMessage(Handler.java:99) 
03-23 10:32:43.438: E/AndroidRuntime(605): at android.os.Looper.loop(Looper.java:132) 
03-23 10:32:43.438: E/AndroidRuntime(605): at android.app.ActivityThread.main(ActivityThread.java:4025) 
03-23 10:32:43.438: E/AndroidRuntime(605): at java.lang.reflect.Method.invokeNative(Native Method) 
03-23 10:32:43.438: E/AndroidRuntime(605): at java.lang.reflect.Method.invoke(Method.java:491) 
03-23 10:32:43.438: E/AndroidRuntime(605): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841) 
03-23 10:32:43.438: E/AndroidRuntime(605): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599) 
03-23 10:32:43.438: E/AndroidRuntime(605): at dalvik.system.NativeStart.main(Native Method) 
03-23 10:32:43.438: E/AndroidRuntime(605): Caused by: java.lang.ClassCastException: android.app.Application cannot be cast to greendroid.app.GDApplication 
03-23 10:32:43.438: E/AndroidRuntime(605): at greendroid.app.GDActivity.getGDApplication(GDActivity.java:205) 
03-23 10:32:43.438: E/AndroidRuntime(605): at greendroid.app.GDActivity.onCreate(GDActivity.java:147) 
03-23 10:32:43.438: E/AndroidRuntime(605): at com.bombil.ramada.MainMenu.onCreate(MainMenu.java:18) 
03-23 10:32:43.438: E/AndroidRuntime(605): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048) 
03-23 10:32:43.438: E/AndroidRuntime(605): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1712) 
03-23 10:32:43.438: E/AndroidRuntime(605): ... 11 more 
03-23 10:37:43.477: I/Process(605): Sending signal. PID: 605 SIG: 9 
+1

wpisz swój logcat i dodaj plik mainmenu.xml –

Odpowiedz

15

Mogę tylko zgadywać. Czy masz android app extends GDApplication?

Na przykład (w AndroidManifest.xml):

<application 
     android:icon="@drawable/ic_gdcatalog" 
     android:label="@string/app_name" 
     android:theme="@style/Theme.GDCatalog" 
     android:name=".CatalogApplication"> 
... 
... 

Należy w swojej klasie to zrobić:

public class CatalogApplication extends GDApplication { 

    @Override 
    public Class<?> getHomeActivityClass() { 
     return CatalogActivity.class; 
    } 

    @Override 
    public Intent getMainApplicationIntent() { 
     return new Intent(Intent.ACTION_VIEW, Uri.parse(getString(R.string.app_url))); 
    } 

} 

Można również pobrać GDCatalog sample Application i uruchomić go w Eclipse.

+0

yes @ r.piesnikowski to był mój problem. Nigdy nie zadeklarowałem kataloguAplikacja. –

+0

To właśnie mnie uratowało, dzięki reorganizacji starszej aplikacji i zapomniałem '' android: name = "" 'wewnątrz" głównego programu! – wired00

Powiązane problemy