Android “什么是”呢;上下文菜单&;方法registerForContextMenu()

Android “什么是”呢;上下文菜单&;方法registerForContextMenu(),android,android-layout,android-emulator,android-intent,android-widget,Android,Android Layout,Android Emulator,Android Intent,Android Widget,在活动类中,有一个名为registerForContextMenu(视图)的方法 android文档解释说,此方法用于注册要为给定视图显示的上下文菜单(多个视图可以显示上下文菜单) “上下文菜单”是什么意思?是指物理菜单按钮还是什么 我还需要一些关于方法registerForContextMenu(View视图)的解释,我不清楚在线阅读文档 它基本上是一个弹出菜单,当您长时间单击某些UI元素(通常是列表视图中的一个项目)时会显示该菜单 您应该看一下开发者指南的部分。这是Android开发者提供

活动类中,有一个名为
registerForContextMenu(视图)
的方法

android文档解释说,此方法用于注册要为给定视图显示的上下文菜单(多个视图可以显示上下文菜单)

  • 上下文菜单”是什么意思?是指物理菜单按钮还是什么
  • 我还需要一些关于方法
    registerForContextMenu(View视图)
    的解释,我不清楚在线阅读文档

它基本上是一个弹出菜单,当您长时间单击某些UI元素(通常是列表视图中的一个项目)时会显示该菜单


您应该看一下开发者指南的部分。

这是Android开发者提供的:

上下文菜单是一种浮动菜单,当用户长时间单击某个元素时会出现。它提供影响选定内容或上下文框架的操作

假设您希望在listview中有一个ConText菜单

//Constants for context menu options
public static final int MENU_MARK = 1;
public static final int MENU_REMOVE = 2;

public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    ...
    ...
    // Specify that your listview has a context menu attached
    registerForContextMenu(getListView());
}

// here you create the context menu
@Override
public void onCreateContextMenu(ContextMenu menu, View v, 
   ContextMenuInfo menuInfo) {
  menu.add(Menu.NONE, MENU_MARK, Menu.NONE, "MARK");
  menu.add(Menu.NONE, MENU_REMOVE, Menu.NONE, "Remove");
}

// This is executed when the user selects an option
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
switch (item.getItemId()) {
    case MENU_MARK:
        mark_item(info.id);
        return true;
    case MENU_REMOVE:
        delete_item(info.id);
        return true;
    default:
        return super.onContextItemSelected(item);
   }
}