private void MostrarExploradorArchivos() { ChooserDialog chooserDialog = new ChooserDialog(this).WithStringResources("Choose a file", "Choose", "Cancel").WithOptionStringResources("New folder", "Delete", "Cancel", "Ok").EnableOptions(true).DisplayPath(true).WithChosenListener((dir, dirFile) => { PATH = dir; Toast.MakeText(this, (dirFile.IsDirectory ? "FOLDER: " : "FILE: ") + dir, ToastLength.Short).Show(); ArchivoSeleccionado(); }).Show(); }
public void OnClick(object sender, System.EventArgs e) { //choose a file Context ctx = this; if (ctx == null) { return; } List <File> files = new List <File>(); ChooserDialog chooserDialog; if (darkTheme.Checked) { chooserDialog = new ChooserDialog(ctx, Resource.Style.FileChooserStyle_Dark); } else { chooserDialog = new ChooserDialog(ctx); } chooserDialog .WithResources(dirOnly.Checked ? Resource.String.title_choose_folder : Resource.String.title_choose_file, Resource.String.title_choose, Resource.String.dialog_cancel) .WithOptionResources(Resource.String.option_create_folder, Resource.String.options_delete, Resource.String.new_folder_cancel, Resource.String.new_folder_ok) // Optionally, you can use Strings instead: /*.WithStringResources(dirOnly.isChecked() ? "Choose a folder" : "Choose a file", * "Choose", "Cancel") * .WithOptionStringResources("New folder", * "Delete", "Cancel", "Ok")*/ .DisableTitle(disableTitle.Checked) .EnableOptions(EnableOptions.Checked) .TitleFollowsDir(titleFollowsDir.Checked) .DisplayPath(displayPath.Checked) .EnableDpad(dpad.Checked); if (filterImages.Checked) { // Most common image file extensions (source: http://preservationtutorial.library.cornell // .edu/presentation/table7-1.html) chooserDialog.WithFilter(dirOnly.Checked, allowHidden.Checked, "tif", "tiff", "gif", "jpeg", "jpg", "jif", "jfif", "jp2", "jpx", "j2k", "j2c", "fpx", "pcd", "png", "pdf"); } else { chooserDialog.WithFilter(dirOnly.Checked, allowHidden.Checked); } if (EnableMultiple.Checked) { chooserDialog.EnableMultiple(true); if (Build.VERSION.SdkInt >= BuildVersionCodes.JellyBeanMr1) { chooserDialog .WithOnDismissListener((AlertDialog) => { if (files.Count == 0) { return; } List <string> paths = new List <string>(); foreach (File file in files) { paths.Add(file.AbsolutePath); } new Android.App.AlertDialog.Builder(ctx) .SetTitle(files.Count + " files selected:") .SetAdapter(new ArrayAdapter <string>(ctx, Android.Resource.Layout.SimpleExpandableListItem1, paths), (IDialogInterfaceOnClickListener)null) .Create() .Show(); }) .WithOnLastBackPressedListener((alertDialog) => { files.Clear(); chooserDialog.Dismiss(); }) .WithNegativeButtonListener((alertDialog, which) => { files.Clear(); chooserDialog.Dismiss(); }) .WithChosenListener((dir, dirFile) => { if (continueFromLast.Checked) { _path = dir; } if (dirFile.IsDirectory) { chooserDialog.Dismiss(); return; } if (!files.Remove(dirFile)) { files.Add(dirFile); } }); } else { // OnDismissListener is not supported, so we simulate something similar anywhere where the // dialog might be dismissed. void OnDismis() { if (files.Count == 0) { return; } List <string> paths = new List <string>(); foreach (File file in files) { paths.Add(file.AbsolutePath); } new Android.App.AlertDialog.Builder(ctx) .SetTitle(files.Count + " files selected:") .SetAdapter(new ArrayAdapter <string>(ctx, Android.Resource.Layout.SimpleExpandableListItem1, paths), (IDialogInterfaceOnClickListener)null) .Create() .Show(); }; chooserDialog .WithOnLastBackPressedListener(dialog => { files.Clear(); dialog.Dismiss(); OnDismis(); }) .WithNegativeButtonListener((dialog, which) => { files.Clear(); dialog.Dismiss(); OnDismis(); }) .WithChosenListener((dir, dirFile) => { if (continueFromLast.Checked) { _path = dir; } if (dirFile.IsDirectory) { chooserDialog.Dismiss(); OnDismis(); return; } if (!files.Remove(dirFile)) { files.Add(dirFile); } }); } } else { chooserDialog.WithChosenListener((dir, dirFile) => { if (continueFromLast.Checked) { _path = dir; } Toast.MakeText(ctx, (dirFile.IsDirectory ? "FOLDER: " : "FILE: ") + dir, ToastLength.Short).Show(); _tv.Text = dir; if (dirFile.IsFile) { // Not implemented //_iv.SetImageBitmap(ImageUtil.decodeFile(dirFile)); } }); } if (continueFromLast.Checked && _path != null) { chooserDialog.WithStartFile(_path); } if (displayIcon.Checked) { chooserDialog.WithIcon(Resource.Mipmap.ic_launcher); } if (dateFormat.Checked) { chooserDialog.WithDateFormat("dd MMMM yyyy"); } if (back.Checked) { chooserDialog.WithOnBackPressedListener((dialog) => { chooserDialog.GoBack(); }); } chooserDialog.Build().Show(); }
public static ChooserDialog WithNavigateUpTo(this ChooserDialog dialog, Predicate <File> canUpTo) { return(dialog.WithNavigateUpTo(new CanNavigateUp(canUpTo))); }
public static ChooserDialog WithChosenListener(this ChooserDialog dialog, Action <string, File> result) { return(dialog.WithChosenListener(new Result(result))); }
public static ChooserDialog WithAdapterSetter(this ChooserDialog dialog, Action <DirAdapter> apply) { return(dialog.WithAdapterSetter(new AdapterSetter(apply))); }
public static ChooserDialog WithOnDismissListener(this ChooserDialog dialog, Action <IDialogInterface> onDismiss) { return(dialog.WithOnDismissListener(new DismissListener(onDismiss))); }
public static ChooserDialog WithOnCancelListener(this ChooserDialog dialog, Action <IDialogInterface> onCancel) { return(dialog.WithOnCancelListener(new CancellListener(onCancel))); }
public static ChooserDialog WithNegativeButtonListener(this ChooserDialog dialog, Action <IDialogInterface, int> onClick) { return(dialog.WithNegativeButtonListener(new NegativeButtonListener(onClick))); }
public static ChooserDialog CustomizePathView(this ChooserDialog dialog, Action <TextView> customize) { return(dialog.CustomizePathView(new CustomizePathViewImp(customize))); }
public static ChooserDialog WithOnLastBackPressedListener(this ChooserDialog dialog, Action <AlertDialog> onBackPressed) { return(dialog.WithOnLastBackPressedListener(new OnBackPressed(onBackPressed))); }