2012-03-05 16 views
11

Creo alcune cartelle in risorse. Ogni cartella contiene file che vorrei elencare. Sto usando il seguente codice ma ottengo sempre un valore nullo per fileList. Grazie.File di elenco Android contenuti nella sottocartella di risorse

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

risposta

26

probabilmente si vorrà fare questo:

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

anche la tua chiamata di funzione dovrebbe essere: listFiles("images"); se si desidera elencare le immagini.

+0

come ottenere il nome del file? –

+0

@The_Lazy_Man L'array di stringhe restituito dal metodo 'Assetmanager.list()' non è quello che vuoi? – Luksprog

+0

sì, hai ragione. Ma sto affrontando un nuovo problema. impossibile ottenere l'ID risorsa per inizializzare un ImageView. Perché il file degli asset non mi fornisce quello. Grazie per la risposta :) –

6

semplice sarebbe sicuramente questa:

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