Если это поможет, я написал FileFilter, который вернет список папок с изображениями. Вы просто берете Файл, представляющий каталог (я использую его для Environment.getExternalStorageDirectory ()), используете .listFiles (filterForImageFolders), и он возвращает File [] с каталогами, которые содержат изображения. Затем вы можете использовать этот список, чтобы заполнить свой список изображений в ваших настройках:
FileFilter filterForImageFolders = new FileFilter()
{
public boolean accept(File folder)
{
try
{
//Checking only directories, since we are checking for files within
//a directory
if(folder.isDirectory())
{
File[] listOfFiles = folder.listFiles();
if (listOfFiles == null) return false;
//For each file in the directory...
for (File file : listOfFiles)
{
//Check if the extension is one of the supported filetypes
for (String ext : imageExtensions)
{
if (file.getName().endsWith("." + ext)) return true;
}
}
}
return false;
}
catch (SecurityException e)
{
Log.v("debug", "Access Denied");
return false;
}
}
};
(ImageExtensions - это строка [], содержащая "png", "bmp", "jpg", "jpeg")