Android 多Activity下的 menu 处理

来源:互联网 发布:年轻人不愿生了知乎 编辑:程序博客网 时间:2024/06/05 17:25

如果程序中,存在多个Activity,可以先创建 Activity 的一个基类,在这个新建立的基类中,放入上面这些菜单的函数。接着后续的Activity窗体都继承这个基类,这样就能共享菜单模块。

如果某个Activity中需要定义与主菜单不同的菜单内容,则通过  onPrepareOptionsMenu 这个函数重构菜单,因为onCreateOptionsMenu只会被调用一次。

//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);
}

原创粉丝点击