0

私はSamsungGalaxyAceデバイスで完全に動作するAndroidアプリケーションを作成しました。しかし、私がHTC Desire Vで同じことを実行すると、致命的な例外が発生します。注:Samsungデバイスは3.5インチの画面デバイスですが、HTCは4インチのデバイスです。logcatに表示されるエラーは次のとおりです。

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)

画面サイズの変更などが原因ですか?これに関するアイデアは非常に役立ちます。

以下のメソッドでエラーが発生します(2行目はHandpumpActivity.java:1476です):

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

1 に答える 1

2

、または要素activity_handpump.xmlのみが含まれていることを確認してください。Android のドキュメントに記載されているとおりにしないでください。<menu><item><group><ScrollView>activity_handpump.xml

Galaxy Aceでどのように機能しているかについて私が考えることができる唯一の説明は、さまざまな画面サイズ用にロードされたメニューのさまざまなレイアウトを持っているということです(Aceはmdpiで、Desireはhdpiです)

于 2012-11-07T09:06:45.280 に答える