WEB开发网
开发学院手机开发Android 开发 Android SDK 开发之创建菜单 阅读

Android SDK 开发之创建菜单

 2010-03-23 04:18:00 来源:WEB开发网   
核心提示:ContextMenuInfo menuInfo) {super.onCreateContextMenu(menu, v, menuInfo);menu.add(0, EDIT_ID, 0, "Edit");menu.add(0, DELETE_ID, 0, "Delete");

ContextMenuInfo menuInfo) {

super.onCreateContextMenu(menu, v, menuInfo);

menu.add(0, EDIT_ID, 0, "Edit");

menu.add(0, DELETE_ID, 0, "Delete");

}

public boolean onContextItemSelected(MenuItem item) {

AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();

switch (item.getItemId()) {

case EDIT_ID:

editNote(info.id);

return true;

case DELETE_ID:

deleteNote(info.id);

return true;

default:

return super.onContextItemSelected(item);

}

}

在onCreateContextMenu(),我们得到ContextMenu用来增加菜单项,被选择的View对象和一个ContextMenuInfo对象,该对象提供了关于该View对象的额外信息。在该例子中,仅仅加入了几个菜单项,没有什么特殊的动作。在onContextItemSelected()回调函数中,我们从MenuItem()中请求AdapterContextMenuInfo,该对象提供了当前被选择的菜单项的信息。我们只需要取得它的ID。

要为ListView所有的项注册快捷菜单,我们将整个ListView对象传给 registerForContextMenu(View) 方法:

registerForContextMenu(getListView());

你可以将任意View对象传给一个快捷菜单。这里,getListView()返回Notepad程序的ListActivity中的ListView对象。这样,该列表中的所有项被注册到快捷菜单。

Submenus 子菜单

一个子菜单可以在除子菜单的任意菜单中被加入。这一点在你的个程序有一大堆功能,并且这些功能可以按主题分类时很有用(例如PC程序中的文件、编辑、视图)。

一个子菜单使用addSubMenu()来创建。该方法返回一个SubMenu对象。你可以使用add()方法来增加菜单项。例如:

public boolean onCreateOptionsMenu(Menu menu) {

boolean result = super.onCreateOptionsMenu(menu);

SubMenu fileMenu = menu.addSubMenu("File");

SubMenu editMenu = menu.addSubMenu("Edit");

fileMenu.add("new");

fileMenu.add("open");

fileMenu.add("save");

editMenu.add("undo");

上一页  1 2 3 4 5 6 7  下一页

Tags:Android SDK 开发

编辑录入:coldstar [复制链接] [打 印]
赞助商链接