ActionBarSherlock Problem

  • Antworten:3
  • Bentwortet
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

16.02.2013, 13:06:51 via Website

Hallo,
Ich will die Biblothek Action Bar Sherlock verwenden.
Ich habe die library erfolgreich in Eclipse eingebunden.
( Benutzte Anleitung : http://www.brightsolutions.de/blog/actionbarsherlock-abs )

Meine eigene Änderung, ich habe bei beiden Projekten die Project Build Target auf Android 4.2 gesetzt.
In Eclipse bekomm ich beim "Builden" keinen Fehler.
Aber sobald die App auf meinem Gerät installiert habe bringt LogCat mehrere Fehler:

1FATAL EXCEPTION: main
2java.lang.Error: Unresolved compilation problem:
3The method onCreatePanelMenu(int, Menu) of type SherlockListActivity
4must override a superclass method
5
6at com.actionbarsherlock.app.SherlockListActivity.onCreatePanelMenu(SherlockListActivity.java:182)
7
8at com.actionbarsherlock.ActionBarSherlock.callbackCreateOptionsMenu(ActionBarSherlock.java:559)
9
10at com.actionbarsherlock.internal.ActionBarSherlockNative.dispatchCreateOptionsMenu(ActionBarSherlockNative.java:60)
11
12at com.actionbarsherlock.app.SherlockListActivity.onCreateOptionsMenu(SherlockListActivity.java:149
13
14at android.app.Activity.onCreatePanelMenu(Activity.java:2449)
15
16 at com.android.internal.policy.impl.PhoneWindow.preparePanel(PhoneWindow.java:409)
17
18 at com.android.internal.policy.impl.PhoneWindow.invalidatePanelMenu(PhoneWindow.java:760)
19
20 at com.android.internal.policy.impl.PhoneWindow$1.run(PhoneWindow.java:3003)
21
22 at android.os.Handler.handleCallback(Handler.java:605)
23
24 at android.os.Handler.dispatchMessage(Handler.java:92)
25
26 at android.os.Looper.loop(Looper.java:137)
27
28 at android.app.ActivityThread.main(ActivityThread.java:4511)
29
30 at java.lang.reflect.Method.invokeNative(Native Method)
31
32 at java.lang.reflect.Method.invoke(Method.java:511)
33
34 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980)
35
36 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747)
37
38 at dalvik.system.NativeStart.main(Native Method)

Kann mir jemand helfen?

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Sebastian P.
  • Forum-Beiträge: 72

18.02.2013, 09:13:24 via Website

Steht doch in den ersten 4 Zeilen vom Log:

1FATAL EXCEPTION: main
2java.lang.Error: Unresolved compilation problem:
3The method onCreatePanelMenu(int, Menu) of type SherlockListActivity
4must override a superclass method

Ich gehe davon aus, dass die Activity als
1public class myActivityName extends SherlockListActivity
definiert ist.
Dann musst du dem Compiler/der DVM sagen, dass die Methode onCreatePanelMenu die entsprechende Methode der Superclass überschreibt. Das machst du mit einem @Override in der Zeile vor der Methode:

1@Override
2public void /*oder gibt das was zurück?*/ onCreatePanelMenu (int whatever, Menu anyMenu) {
3 //...
4}

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

18.02.2013, 16:55:51 via Website

Erst einmal danke für die Antwort.

Du hast recht, aber ich habe garkeine Methode, die onCreatePanelMenu heißt.
Diese Methode ist in der Sherlock Library enthalten. Im Debugger bleibt er in er OnCreate Methode hängen.

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Sebastian P.
  • Forum-Beiträge: 72

20.02.2013, 19:09:50 via Website

Dann erzwingt die Süperclass das Überschreiben der Methode. Erzeuge sie (leer) mit einem @Override vornedran und dann sollte das Problem behoben sein.

Antworten