@Override public boolean onContextItemSelected(MenuItem item) { switch (item.getItemId()) { case D_MENU_DELETE: case F_MENU_DELETE: AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("Warning "); builder.setIcon(R.drawable.warning); builder.setMessage( "Deleting " + selected_list_item + " cannot be undone. Are you sure you want to delete?"); builder.setCancelable(false); builder.setNegativeButton( "Cancel", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); builder.setPositiveButton( "Delete", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { handler.deleteFile(flmg.getCurrentDir() + "/" + selected_list_item); } }); AlertDialog alert_d = builder.create(); alert_d.show(); return true; case D_MENU_RENAME: showDialog(D_MENU_RENAME); return true; case F_MENU_RENAME: showDialog(F_MENU_RENAME); return true; case F_MENU_ATTACH: File file = new File(flmg.getCurrentDir() + "/" + selected_list_item); Intent mail_int = new Intent(); mail_int.setAction(android.content.Intent.ACTION_SEND); mail_int.setType("application/mail"); mail_int.putExtra(Intent.EXTRA_BCC, ""); mail_int.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file)); startActivity(mail_int); return true; case F_MENU_COPY: case D_MENU_COPY: copied_target = flmg.getCurrentDir() + "/" + selected_list_item; holding_file = true; detail_label.setText("Waiting to paste file " + selected_list_item); return true; case D_MENU_PASTE: boolean multi_select = handler.hasMultiSelectData(); if (multi_select) { handler.copyFileMultiSelect(flmg.getCurrentDir() + "/" + selected_list_item); } else if (holding_file && copied_target.length() > 1) { handler.copyFile(copied_target, flmg.getCurrentDir() + "/" + selected_list_item); holding_file = false; detail_label.setText(""); } return true; case D_MENU_ZIP: String dir = flmg.getCurrentDir(); handler.zipFile(dir + "/" + selected_list_item); return true; case D_MENU_UNZIP: if (holding_zip && zipped_target.length() > 1) { String current_dir = flmg.getCurrentDir() + "/" + selected_list_item + "/"; String old_dir = zipped_target.substring(0, zipped_target.lastIndexOf("/")); String name = zipped_target.substring(zipped_target.lastIndexOf("/") + 1, zipped_target.length()); if (new File(zipped_target).canRead() && new File(current_dir).canWrite()) { handler.unZipFileToDir(name, current_dir, old_dir); path_label.setText(current_dir); } else { Toast.makeText(this, "You do not have permission to unzip " + name, Toast.LENGTH_SHORT) .show(); } } holding_zip = false; detail_label.setText(""); zipped_target = ""; return true; } return false; }