Android 多Activity下的 menu 处理

华宰 发布于 2010/08/31 07:26
阅读 3K+
收藏 6

如果程序中,存在多个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);
}
加载中
0
天高空
天高空
实现了代码模块的重复利用啊,我觉得这样实现挺好的
0
s
songyuxiang
大哥,你这个退出怎么实现的啊,求代码
返回顶部
顶部