@Override public boolean onContextItemSelected(MenuItem item) { final AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo(); final int id = (int) info.id; // Error check just in case. if (id == -1) { return super.onContextItemSelected(item); } switch (item.getItemId()) { case R.id.delete_schedule: // Confirm that the schedule will be deleted. new AlertDialog.Builder(this) .setTitle(getString(R.string.delete_schedule)) .setMessage(getString(R.string.delete_schedule_confirm)) .setPositiveButton( android.R.string.ok, new DialogInterface.OnClickListener() { public void onClick(DialogInterface d, int w) { TimeSchedule.deleteTimeSchedule(TimeScheduleActivity.this, id); } }) .setNegativeButton(android.R.string.cancel, null) .show(); return true; case R.id.enable_schedule: final Cursor c = (Cursor) mScheduleList.getAdapter().getItem(info.position); final TimeSchedule schedule = new TimeSchedule(c); TimeSchedule.enableTimeSchedule(this, schedule.id, !schedule.enabled); if (!schedule.enabled) {} return true; case R.id.edit_schedule: Intent intent = new Intent(this, SetTimeScheduleActivity.class); intent.putExtra(TimeSchedule.EXTRA_ID, id); startActivity(intent); return true; default: break; } return super.onContextItemSelected(item); }