2012-11-06 1 views
0

J'ai créé une application Android qui fonctionne parfaitement dans Samsung Galaxy Ace. Mais quand je cours la même chose sur HTC Desire V, c'est FATAL EXCEPTION. Remarque: L'appareil Samsung est un appareil à écran de 3,5 pouces tandis que le HTC est un appareil de 4 pouces. L'erreur montrant en logcat est comme ci-dessous:java.lang.RuntimeException: Attend menu, got ScrollView

FATAL EXCEPTION: main 
java.lang.RuntimeException: Expecting menu, got ScrollView 
at android.view.MenuInflater.parseMenu(MenuInflater.java:128) 
at android.view.MenuInflater.inflate(MenuInflater.java:95) 
at com.pixel.hp.activity.HandpumpActivity.onCreateOptionsMenu(HandpumpActivity.java:1476) 
at android.app.Activity.onCreatePanelMenu(Activity.java:2508) 
at com.android.internal.policy.impl.PhoneWindow.preparePanel(PhoneWindow.java:407) 
at com.android.internal.policy.impl.PhoneWindow.invalidatePanelMenu(PhoneWindow.java:762) 
at com.android.internal.policy.impl.PhoneWindow$1.run(PhoneWindow.java:3083) 
at android.os.Handler.handleCallback(Handler.java:608) 
at android.os.Handler.dispatchMessage(Handler.java:92) 
at android.os.Looper.loop(Looper.java:156) 
at android.app.ActivityThread.main(ActivityThread.java:4987) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:511) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 
at dalvik.system.NativeStart.main(Native Method) 

Est-ce à cause du changement de la taille de l'écran ou autre chose? Toute idée à ce sujet serait très utile.

J'obtiens l'erreur dans la méthode ci-dessous (2ème ligne est HandpumpActivity.java:1476):

public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.activity_handpump, menu); 
    return true; 
} 
+1

Qu'est-ce que dans HandpumpActivity .java: 1476 lignes de votre code? –

+0

ce que vous avez créé dans votre application. est-ce à propos des menus? Il peut y avoir quelque chose qui ne va pas avec la taille ou l'orientation des panneaux ou de tout ce que vous avez utilisé. Il vaudrait donc mieux poster un code relavent. –

+0

@Mohamed_AbdAllah: s'il vous plaît vérifier ma question éditée. Là, j'ai mentionné la ligne: 1476 – Shrikant

Répondre

2

Assurez-vous que votre seul activity_handpump.xml contient <menu>, <item> ou <group> éléments. <ScrollView> ne devrait pas être dans activity_handpump.xml selon l'Android documentation.

La seule explication sur la façon dont il fonctionne sur Galaxy Ace que je pouvais penser est que vous avez différentes configurations pour les menus chargés pour différentes tailles d'écran (Ace est mdpi tout désir est hdpi)

+0

merci pour la réponse. Cela peut m'aider dans un certain contexte. Va passer par le lien. – Shrikant

+0

Apparemment, si vous nommez une classe en tant que 'Menu' et que vous la renommez, tous les fichiers xml contenant <'menu'> la renommeraient en le nouveau nom auquel vous l'avez refaçonné. –

Questions connexes