上下文菜单实现
/*重写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);
}