<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/next_page"
android:title="@string/next"
android:onClick="next_page"
android:showAsAction="ifRoom|withText"
android:orderInCategory="2" />
<item android:id="@+id/begin_calc"
android:title="@string/begin"
android:onClick="initial_values"
android:showAsAction="ifRoom|withText"
android:orderInCategory="1" />
</menu>
Nexus 7 では問題なく動作するのに、Android 4.0.4 と 4.0.3 を実行している他の 2 つの新しい携帯電話では、読み込み時にクラッシュするのはなぜですか??
エミュレーターでも問題なく動作します: マニフェストには以下が含まれます:
<application
android:uiOptions="splitActionBarWhenNarrow"
エミュレータ上で正常に動作します
onClick 行を削除すると、電話で実行されますが、明らかにそれらの行が要点です
どうでも :)
動作する別の方法を見つけました。onClick xml の使用を忘れて、代わりに使用します。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.next_page_u_fool:
startActivity(new Intent(this, A02_Second_page.class));
break;
case R.id.action_settings:
startActivity(new Intent(this, A01_First_page.class));
break;
case R.id.begin_calc_or_puke:
read_fields_first_page();
startActivity(new Intent(this, Rvb_Initial_values_1.class));
break;
default:
break;
}
return true;
}
public boolean onCreateOptionsMenu(Menu menu) {
Eclipseは次のように吐き出します:
AndroidRuntime(25734): 致命的な例外: main AndroidRuntime(25734): android.view.InflateException: クラス android.view.ContextThemeWrapper AndroidRuntime(25734) のメニュー項目 onClick ハンドラ next_page を解決できませんでした: android.view.MenuInflater$InflatedOnMenuItemClickListener で。 (MenuInflater.java:202) AndroidRuntime(25734): android.view.MenuInflater$MenuState.setItem(MenuInflater.java:402) で AndroidRuntime(25734): android.view.MenuInflater$MenuState.addItem(MenuInflater.java:436 で) AndroidRuntime(25734): at android.view.MenuInflater.parseMenu(MenuInflater.java:173) AndroidRuntime(25734): at android.view.MenuInflater.inflate(MenuInflater.java:95) AndroidRuntime(25734): at ( 私のパッケージなど) .A01_First_page.onCreateOptionsMenu(A01_First_page.java:54) AndroidRuntime(25734): android.app.Activity.onCreatePanelMenu(Activity.java:2501) AndroidRuntime(25734): com.android.internal.policy.impl.PhoneWindow.preparePanel(PhoneWindow.java:415) で AndroidRuntime(25734): com.android.internal.policy.impl.PhoneWindow.invalidatePanelMenu(PhoneWindow. java:805) AndroidRuntime(25734): com.android.internal.policy.impl.PhoneWindow$1.run(PhoneWindow.java:2985) で AndroidRuntime(25734): android.os.Handler.handleCallback(Handler.java:605) で) AndroidRuntime(25734): android.os.Handler.dispatchMessage(Handler.java:92) で AndroidRuntime(25734): android.os.Looper.loop(Looper.java:154) で AndroidRuntime(25734): android.app で.ActivityThread.main(ActivityThread.java:4945) AndroidRuntime(25734): java.lang.reflect.Method.invokeNative(ネイティブ メソッド) AndroidRuntime(25734): java.lang.reflect.Method.invoke(Method.java: 511) AndroidRuntime(25734): com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) AndroidRuntime(25734): com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) で AndroidRuntime(25734): dalvik.system.NativeStart.main( Native Method) AndroidRuntime(25734): 原因: java.lang.NoSuchMethodException: next_page [interface android.view.MenuItem] AndroidRuntime(25734): at java.lang.Class.getConstructorOrMethod(Class.java:460) AndroidRuntime(25734) : at java.lang.Class.getMethod(Class.java:915) AndroidRuntime(25734): at android.view.MenuInflater$InflatedOnMenuItemClickListener.(MenuInflater.java:200) AndroidRuntime(25734): ... 18 もっと見るjava.lang.NoSuchMethodException: next_page [インターフェイス android.view.MenuItem] AndroidRuntime(25734): at java.lang.Class.getConstructorOrMethod(Class.java:460) AndroidRuntime(25734): at java.lang.Class.getMethod(Class .java:915) AndroidRuntime(25734): at android.view.MenuInflater$InflatedOnMenuItemClickListener.(MenuInflater.java:200) AndroidRuntime(25734): ... 18 もっと見るjava.lang.NoSuchMethodException: next_page [インターフェイス android.view.MenuItem] AndroidRuntime(25734): at java.lang.Class.getConstructorOrMethod(Class.java:460) AndroidRuntime(25734): at java.lang.Class.getMethod(Class .java:915) AndroidRuntime(25734): at android.view.MenuInflater$InflatedOnMenuItemClickListener.(MenuInflater.java:200) AndroidRuntime(25734): ... 18 もっと見る