public override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); if (savedInstanceState != null) { _activityRecreated = true; _instanceData = BaseActivity.GetInstanceState(savedInstanceState, _instanceData) as InstanceData; } string initDir = Activity.Intent?.GetStringExtra(FilePickerActivity.ExtraInitDir) ?? string.Empty; if (Directory.Exists(initDir)) { try { DirectoryInfo dir = new DirectoryInfo(initDir); dir.GetFileSystemInfos(); if (!_activityRecreated && _instanceData != null) { _instanceData.DefaultInitialDirectory = initDir; } } catch { // ignored } } _extensionList = new List <string>(); string fileExtensions = Activity.Intent?.GetStringExtra(FilePickerActivity.ExtraFileExtensions); if (!string.IsNullOrEmpty(fileExtensions)) { string[] extensions = fileExtensions.Split(';'); foreach (string extension in extensions) { _extensionList.Add(extension); } } string fileFilter = Activity.Intent?.GetStringExtra(FilePickerActivity.ExtraFileRegex); _fileNameRegex = null; if (!string.IsNullOrEmpty(fileFilter)) { _fileNameRegex = new Regex(fileFilter, RegexOptions.IgnoreCase); } _allowDirChange = Activity.Intent?.GetBooleanExtra(FilePickerActivity.ExtraDirChange, true) ?? true; _dirSelect = Activity.Intent?.GetBooleanExtra(FilePickerActivity.ExtraDirSelect, false) ?? false; _showCurrentDir = Activity.Intent?.GetBooleanExtra(FilePickerActivity.ExtraShowCurrentDir, false) ?? false; _showFiles = Activity.Intent?.GetBooleanExtra(FilePickerActivity.ExtraShowFiles, true) ?? true; _showFileExtensions = Activity.Intent?.GetBooleanExtra(FilePickerActivity.ExtraShowExtension, true) ?? true; _adapter = new FileListAdapter(Activity, new FileInfoEx[0]); ListAdapter = _adapter; }