我正在尝试从选项菜单启动一项活动,但我的应用程序不断崩溃。我收到的唯一错误是 Eclipse 调试窗口中的 ActivityThread.performLaunchActivity(ActivityThread$ActivityRecord,Intent) 错误。
下面是我目前正在使用的代码,但请记住,我尝试了多个选项,所有这些选项都以相同的痛苦结束,在同一段代码 - startActivity 语句(通过使用断点发现,因为我'我不确定如何在 LogCat 窗口中查看堆栈跟踪,如我之前的问题Android/Eclipse: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>
我还尝试在 onOptionsItemSelected 块中使用 switch(item.getItemId()) 语句,而不是在 onCreateOptionsMenu 块中使用 menu.findItem,但仍然没有运气。
我已经在我的清单文件中定义了活动。我也可以从常规按钮启动活动,当应用程序第一次在设备上打开时,活动会在我的初始屏幕后立即启动,我对这两种方法都没有问题。
对我来说,这表明 ColourActivity 类或其关联的布局文件没有问题,但选项菜单中的实现存在问题。
我还在另一个应用程序中实现了与上面所示相同的方法(在代码中)并且没有任何问题,所以我在这里真的很茫然。
所有帮助将不胜感激。
谢谢,亚当。