5

Mi chiedo come visualizzare i file da una directory in un ListView`. I file possono essere elencati con:Visualizzazione di un elenco di file in un ListView

File dir = new File(dirPath); 
File[] filelist = dir.listFiles(); 

e aggiunti al ListView via ArrayAdapter ma non ottengono l'utilizzo del ArrayAdapter.

+0

che cosa è esattamente la tua domanda? ci sono molte domande su SO su "come gestire un arrayAdapter", "come creare un listView". Per te penso che vuoi solo visualizzare il nome di diversi file da una cartella, a un listview. Dovrai passare una ArrayList of String all'adattatore. Guarda la documentazione ufficiale ci sono alcuni esempi su come fare un ListView. –

risposta

14

Credo che si desidera visualizzare i nomi dei file da tale directory così si potrebbe provare questo:

File dir = new File(dirPath); 
File[] filelist = dir.listFiles(); 
String[] theNamesOfFiles = new String[filelist.length]; 
for (int i = 0; i < theNamesOfFiles.length; i++) { 
    theNamesOfFiles[i] = filelist[i].getName(); 
} 

L'adattatore da utilizzare con l'elenco:

new ArrayAdapter<String>(this, android.R.layout.simple_list_item, theNamesOfFiles); 

Per qualcosa di più complicato di mostrare i nomi dei file devi implementare un adattatore personalizzato.

+0

E i nomi dei file oltre alla data di creazione/modifica? – Si8

+0

@ SiKni8 La classe 'File' sfortunatamente espone solo la data dell'ultima modifica del file e non la data di creazione. Per mostrare che oltre al nome del file è possibile utilizzare un adattatore personalizzato o un 'Hashmap' contenente i dati e utilizzare un' SimpleAdapter'. – Luksprog

+0

Grazie per la risposta. Penso che Data modificata dovrebbe essere sufficiente per me. Una domanda che ho è che voglio visualizzare un'icona personalizzata seguita dal nome del file in alto a destra dell'icona e data di modifica in basso a destra dell'icona. Come potrei ottenere quello? – Si8

1

Oppure si può usare qualcosa di simile per un ordinato String di filenames:

File dataDirectory = Environment.getDataDirectory(); 
File fileDir = new File(dataDirectory, "data/com.yourapp.app/files"); 

String[] listItems = fileDir.list(); 
Arrays.sort(listItems); 
Problemi correlati