我使用以下代码进行上下文菜单,然后如果用户选择删除,将出现对话按摩.
infos.setOnCreateContextMenuListener(new OnCreateContextMenuListener(){ //@Override public void onCreateContextMenu(ContextMenu menu,View v,ContextMenu.ContextMenuInfo menuInfo) { menu.setHeaderTitle("Context Menu"); menu.add(0,CONTEXT_EDIT,"Edit Item"); menu.add(0,CONTEXT_DELETE,1,"Delete Item"); } }); public boolean onContextItemSelected(MenuItem item) { AdapterView.AdapterContextMenuInfo menuInfo = (AdapterView.AdapterContextMenuInfo)item.getMenuInfo(); final Long _id = menuInfo.id; //selected_row = menuInfo.position; // To get the id of the clicked item in the list use menuInfo.id switch (item.getItemId()) { case CONTEXT_EDIT: addEditRes(_id); break; case CONTEXT_DELETE: AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setMessage("Are you sure you want to delete?") .setCancelable(false) .setPositiveButton("Yes",new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog,int id) { infoDataHelper.deleteRes(_id); model = infoDataHelper.getCursor(addType); adapter.changeCursor(model); } }) .setNegativeButton("No",int id) { dialog.cancel(); } }); AlertDialog alert = builder.create(); alert.show(); break; default: return super.onContextItemSelected(item); } adapter.notifyDataSetChanged(); return true; }
android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application
我的代码有什么问题?