2012-03-05 13 views
11

Tworzę foldery w zasoby. Każdy folder zawiera pliki, które chciałbym wyświetlić. Korzystam z następującego kodu, ale zawsze otrzymuję wartość null dla fileList. Dziękuję Ci.Pliki listy android zawarte w podfolderze zasobów

Kiedyś, 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]); 
       } 
      } 
    }  

Odpowiedz

26

prawdopodobnie będziesz chciał, aby to zrobić:

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]); 
       } 
      } 
    } 

także rozmowa funkcja powinna być: listFiles("images"); jeśli chcesz do listy obrazów.

+0

jak uzyskać nazwę pliku? –

+0

@ The_Lazy_Man Czy nie jest to tablica ciągów zwracanych przez metodę 'Assetmanager.list()', którą chcesz? – Luksprog

+0

tak, masz rację. Ale mam nowy problem. nie można uzyskać identyfikatora zasobu w celu zainicjowania ImageView. Ponieważ plik zasobów nie zapewnia mi tego. Dziękuję za odpowiedź. :) –

6

Najprostszy z pewnością byłaby to:

String[] fileList = getAssets().list("images");