2012-03-05 3 views
11

Я создаю несколько папок в активы. Каждая папка содержит файлы, которые я хотел бы перечислить. Я использую следующий код, но всегда получаю нулевое значение для fileList. Спасибо.файлы списка андроидов, содержащиеся в подпапках активов

Я использовал, listFiles("/assets/images/","nothing");

private void listFiles(String dirFrom, String dirTo) { 


     File f = new File(dirFrom); 

     String fileList[] = f.list(); 

      if (fileList != null) 
      { 
       for (int i = 0;i<fileList.length;i++) 
       { 
        Log.d("",fileList[i]); 
       } 
      } 
    }  

ответ

26

Вы, вероятно, хотите сделать это:

private void listFiles(String dirFrom) { 
     Resources res = getResources(); //if you are in an activity 
     AssetManager am = res.getAssets(); 
     String fileList[] = am.list(dirFrom); 

      if (fileList != null) 
      { 
       for (int i = 0;i<fileList.length;i++) 
       { 
        Log.d("",fileList[i]); 
       } 
      } 
    } 

Кроме того, ваш вызов функции должен быть: listFiles("images"); если вы хотите получить список изображений.

+0

как получить имя файла? –

+0

@The_Lazy_Man Не массив строк, возвращаемых методом 'Assetmanager.list()', что вы хотите? – Luksprog

+0

Да, вы правы. Но я столкнулся с новой проблемой. не может получить идентификатор ресурса для инициализации ImageView. Потому что файл актива не дает мне этого. Спасибо за ответ. :) –

6

Простейшее бы, конечно, это:

String[] fileList = getAssets().list("images"); 
Смежные вопросы