オプションメニューからアクティビティを開始しようとしていますが、アプリがクラッシュし続けます。私が受け取る唯一のエラーは、EclipseのデバッグウィンドウでのActivityThread.performLaunchActivity(ActivityThread $ ActivityRecord、Intent)エラーです。
以下は私が現在使用しているコードですが、同じコードで、すべて同じ悲惨な結果に終わる複数のオプションを試したことを覚えておいてください-startActivityステートメント(ブレークポイントを使用して発見されたので、以前の質問「 Android/Eclipse:LogCatの支援」で説明したように、LogCatウィンドウでスタックトレースを表示する方法がわかりません。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
getMenuInflater().inflate(R.menu.changescheme, menu);
menu.findItem(R.id.changeScheme).setIntent(new Intent(this, ColourActivity.class));
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
super.onOptionsItemSelected(item);
this.closeOptionsMenu();
startActivity(item.getIntent());
return true;
}
そして、これがchangescheme.xmlファイルです。
<?xml version="1.0" encoding="UTF-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/changeScheme" android:title="Change Colour Scheme" android:icon="@android:drawable/ic_menu_edit"></item>
</menu>
onCreateOptionsMenuブロックのmenu.findItemではなくonOptionsItemSelectedブロックでswitch(item.getItemId())ステートメントを使用しようとしましたが、それでもうまくいきません。
マニフェストファイルでアクティビティを定義しました。通常のボタンからアクティビティを開始することもできます。デバイスでアプリを初めて開いたときは、スプラッシュ画面の直後にアクティビティが開始され、どちらの方法でも問題はありませんでした。
私にとってこれは、ColourActivityクラスまたはそれに関連するレイアウトファイルに問題がないことを示していますが、オプションメニューからの実装に問題があります。
また、上記と同じメソッドを(コードで)別のアプリに実装しましたが、問題はなかったので、ここで本当に困っています。
すべての助けは大歓迎です。
ありがとう、アダム。