@Override public boolean onContextItemSelected(MenuItem item) { if (item.getItemId() == R.id.mnuDelete) { // they have requested that we delete the selected race AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo(); ListView list = (ListView) info.targetView.getParent(); DBPathEntry db = (DBPathEntry) list.getItemAtPosition(info.position); try { if (db.GetFile().delete()) { Toast.makeText(this, "Database deleted", Toast.LENGTH_LONG).show(); } else { Toast.makeText(this, "Failed to delete DB", Toast.LENGTH_LONG).show(); } } catch (Exception e) { Toast.makeText(this, "Failed to delete file " + e.toString(), Toast.LENGTH_LONG).show(); } FirstTimeSetup(); // refresh the list return true; } else if (item.getItemId() == R.id.mnuRename) { AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo(); ListView list = (ListView) info.targetView.getParent(); DBPathEntry db = (DBPathEntry) list.getItemAtPosition(info.position); // they have requested that we rename the selected race Dialog d = new RenameDialog<DBPathEntry>(this, "Set the new DB name", db, R.id.edtRename); d.setOnDismissListener(this); d.show(); return true; } return false; }