如问题所述,它不起作用。当我按菜单按钮时,什么都没有出来。Android选项菜单不起作用
这是菜单活动:
public class AndroidMenuActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.viewphoto);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
super.onCreateOptionsMenu(menu);
MenuInflater menuInflater = getMenuInflater();
menuInflater.inflate(R.menu.menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch(item.getItemId()){
case R.id.edit:
Toast.makeText(getApplicationContext(), "edit selected", Toast.LENGTH_SHORT).show();
Intent i = new Intent(getApplicationContext(), PhotoFlashActivity.class);
startActivity(i);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
}
和一个非常小的menu.xml文件
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/edit"
android:title="Edit"/>
</menu>
我不知道什么是错的,我已经看了教程没提到将活动添加到清单文件中,所以我不确定是否必须这样做。甚至当我做到这一点时也不起作用。我试过清理这个项目,但那也不管用。
嗨,@consprice我只是添加菜单相关的代码和menu.xml文件到我活动,我发现它的作品。也许别的东西是错的。 – Huang 2012-08-10 03:28:29
@黄我试着删除活动创建新的确切代码,但不起作用。一个小问题,是否需要将活动添加到清单文件?如果可能的话,还有什么可能造成这种情况。如果有帮助,我使用api level 8。 – consprice 2012-08-10 03:37:45
您应该在清单文件中声明您自己的所有活动,否则当系统尝试启动活动时系统会发出错误,因为系统找不到它。我刚刚创建了一个全新的API 7项目,并且复制了与菜单过程相关的所有代码,并且它能够工作... – Huang 2012-08-10 03:46:46