2014-01-04 2 views
0

Я хочу получить список определенных имен файлов в каталоге ресурса, пригодного для рисования (во время выполнения, не используя XML). Думаю, мне нужно было бы отличить некоторые файлы от других. Итак ...
* Рез/вытяжке-ИПЧР/mysubdir
- х-one.png
- one.png
- х-two.png
- two.png
- - х-three.png
- three.png *

Я хочу поставить x-*.png имена файлов в List<String>. Это возможно? Заимствуя какой-то код из другого вопроса, я могу получить все рисунки, но я не вижу способа отличить один от другого значимым образом.Получите список имен файлов в каталоге ресурса, пригодного для вывода

private void getDrawableResources() { 

final R.drawable drawableResources = new R.drawable(); 
final Class<R.drawable> drawableClass = R.drawable.class; 
final Field[] fields = drawableClass.getDeclaredFields(); 
final List<Integer> resourceIdList = new ArrayList<Integer>(); 

for (int i = 0, max = fields.length; i < max; i++) { 
    final int resourceId; 
    try { 
     resourceId = fields[i].getInt(drawableResources); 
     resourceIdList.add(resourceId); 
    } 
    catch (Exception e) { 
     continue; 
    } 
} 

Resources resources = this.getActivity().getResources(); 
for (int i = 0; i < resourceIdList.size(); i++) { 
     Drawable drawable = resources.getDrawable(resourceIdList.get(i)); 
     resourceIdList.get(i) + "): " + drawable.toString()); 
} 
} 

ответ

1

Каталоги ресурсов не поддерживают подкаталоги.

+0

Этот вопрос был в моей памяти. Я игнорировал это. Я отредактирую вопрос соответствующим образом. – numberwang

1

Используйте FileNameFilter, получая список файлов в каталоге.

 File dir = new File(dirLocation); 

     if(dir.exists() && dir.isDirectory()) 
     { 
      File[] files = dir.listFiles(new FilenameFilter() 
      { 
       public boolean accept(File dir, String name) 
       { 
        return name.contains("X-"); 
       } 
      }); 
     } 
+0

В соответствии с этим вопросом это невозможно: http://stackoverflow.com/questions/6301493/android-get-path-of-resource – numberwang

Смежные вопросы