2012-03-05 8 views
11

Creo algunas carpetas en los activos. Cada carpeta contiene archivos que me gustaría enumerar. Estoy usando el siguiente código pero siempre obtengo un valor nulo para fileList. Gracias.archivos de la lista de Android que figuran en la subcarpeta de activos

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

Respuesta

26

es probable que desee hacer esto:

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

También su llamada a la función debe ser: listFiles("images"); si desea una lista de imágenes.

+0

cómo obtener el nombre del archivo? –

+0

@The_Lazy_Man ¿No es la matriz de cadenas devuelta por el método 'Assetmanager.list()' lo que desea? – Luksprog

+0

sí, tienes razón. Pero estoy enfrentando un nuevo problema. no se puede obtener el ID del recurso para inicializar un ImageView. Porque el archivo de activos no me proporciona eso. Gracias por tu respuesta. :) –

6

más simple sería seguramente será la siguiente:

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