我知道其他地方已经介绍过,但我是Android平台的新手,我很难搞清楚如何在我的第一个应用程序中添加基本菜单选项。
我使用
设置选项菜单@Override
public boolean onCreateOptionsMenu(Menu menu){
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, menu);
return true;
}
和
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menuPrefs" android:icon="@android:drawable/ic_menu_preferences" android:title="Settings"></item>
</menu>
然后在我的主java类中我有
@Override
public boolean onOptionsItemSelected(MenuItem item){
if(item.getItemId()==R.id.menuPrefs) {
showPrefs();
}
private void showPrefs() {
Intent i = new Intent(this, Prefs.class);
startActivity(i);
}
然后在Prefs.java中我有
public class Prefs extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
Toast.makeText(getBaseContext(), "FNORD", Toast.LENGTH_LONG).show();
}
}
现在我可以在按下菜单选项时看到Toast消息“FNORD”,但是应用程序意外停止。
如果我将toast语句移动到showPrefs()函数中代替startActivity调用,它就可以工作。
答案 0 :(得分:1)
您忘记在Prefs'super.onCreate(Bundle savedInstanceState);
方法上致电onCreate()
。
答案 1 :(得分:0)
您需要了解如何在Eclipse中进行调试以及如何使用ADB和DDMS工具。
为了获得有关异常/强制关闭的更多详细信息,您需要在Eclipse中查找名为Logcat的视图(您将在DDMS透视图中找到),在那里您将找到详细的追溯何时/什么以及在什么方面是问题。
为此,您应该阅读有关Debugging in Android using Eclipse
的完整文章alt text http://www.droidnova.com/blog/wp-content/uploads/2009/09/debugging-3.gif
答案 2 :(得分:0)
解决方案是我需要将Prefs.xml添加到清单。