//onCreateOptionsMenu 在系统起动时,调用一次创建菜单,以后将不会被调用
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
menu.add(0, 0, 0, R.string.menu_about).setIcon(Android.R.drawable.ic_menu_info_details);
menu.add(0, 1, 1, R.string.menu_exit).setIcon(android.R.drawable.ic_menu_directions);
return true;
}
/**
* onOptionsItemSelected每当菜单被选择时,调用这个统一的处理函数
* 处理Menu事件
*/
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case 0://关于 的信息显示
break;
case 1: //结束程序处理
smssend.this.finish();
break;
}
return true;
}
/**
* onPrepareOptionsMenu中途或者在新的Activity中需要修改菜单项目中的内容,调用这个函数
* 处理Menu事件
*/
@Override
public boolean onPrepareOptionsMenu(Menu menu)
{
menu.clear();
menu.add(0, menuEXIT, 1, "测试2")
.setIcon(android.R.drawable.ic_menu_directions);
return super.onPrepareOptionsMenu(menu);
}
如果程序中,存在多个Activity,可以先创建 Activity 的一个基类,在这个新建立的基类中,放入上面这些菜单的函数。
接着后续的Activity窗体都继承这个基类,这样就能共享菜单模块。
如果某个Activity中需要定义与主菜单不同的菜单内容,则通过 onPrepareOptionsMenu 这个函数重构菜单,因为onCreateOptionsMenu只会被调用一次。