上下文菜单实现 /*重写Activity的onCreateContextMenu()方法,设置菜单选项*/ @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { // TODO Auto-generated method stub super.onCreateContextMenu(menu, v, menuInfo); menu.setHeaderTitle("操作选项"); menu.add(0, 0, 0, "运行文件");//add()添加 menu.add(0, 1, 0, "删除文件"); menu.add(0, 2, 0, "上传保存数据"); } /*当点击选择menu上的item时callback * 重写该方法,响应菜单单击事件*/ public boolean onContextItemSelected(MenuItem item) { // TODO Auto-generated method stub /*为了在选择的一个view条目上执行相应的动作,应用程序需要知道View条目的list ID. * 为了获得 list ID,程序中调用了 getMenuInfo(), 它返回一个 AdapterView.AdapterContextMenuInfo 对象, * 这个对象包含了条目的list ID.*/ AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo(); which = info.id;// 这里的info.id对应的就是ListView中的id的值 position = info.position;//listView中显示ContextMenu的条目位置 switch(item.getItemId()){ case 0: break; case 1://删除文件 List<File> list = adapter.list; //list.remove(position); File f = list.get(position); f.delete(); //adapter.list.remove(position); adapter.notifyDataSetChanged();//通知适配器数据发生变化 break; case 2: break; default: break; } return super.onContextItemSelected(item); }