上下文菜单---onCreateContextMenu()

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

 

你可能感兴趣的:(上下文菜单实现)