主题:[转帖]【再让菜单Say Hello】
从API文档中我们看到Activity中有两个函数:onCreateOptionsMenu和onOptionsItemSelected,显示,这个OptionsMenu就是所谓的上下文菜单(在GPhone的模拟器上,有个键专用于弹出这个菜单)。下面我们就为这个HelloWorld例子加上一个菜单,并且让它可以Say hello。
这次,我们不涉及到资源的描述文件了,而是直接使用这两个函数来实现,其实代码也很简单,所以,我们再增加一个退出应用的功能(否则每次都是按取消键退出应用显示太不专业了)。
代码如下
public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); menu.add(0,1,"say hello"); menu.add(0,2,"exit"); return true; } public boolean onOptionsItemSelected(Item item) { super.onOptionsItemSelected(item); int id = item.getId(); switch(id){ case 1: AlertDialog.show(this,getString(R.string.app_name), getString(R.string.msg_dialog), getString(R.string.ok_dialog) , true); break;
case 2:
finish();
break;
}
在CreateOptionsMenu时,我们简单地增加两个菜单项,menu.add(组ID,项ID,显示文本),(注 意:这里我直接将文字写在代码里,这并不提倡)。然后,在OptionsItemSelected事件中,我们根据 选中的菜单项做相应处理,如果选中1,则弹出一个对话框显示资源文件中的“你好,中国”,如果选 中2则退出应用。
AlertDialog.show是一个静态方法,类似于我们在WIN平台上经常使用的MessageBox一样,很方 便的。
资料来源:清源教育
QQ群:291015251