Salut, donc voila je travail un sur un explorateur de fichier. J'ai essayer de faire le "listage" d'un répertoire dans un asynctask mais sa plante avec une
01-03 13:14:14.865: W/dalvikvm(8783): threadid=11: thread exiting with uncaught exception (group=0x40adb228)
//ERREUR :
01-03 13:14:14.865: W/dalvikvm(8783): threadid=11: thread exiting with uncaught exception (group=0x40adb228)
01-03 13:14:14.865: E/AndroidRuntime(8783): FATAL EXCEPTION: AsyncTask #1
01-03 13:14:14.865: E/AndroidRuntime(8783): java.lang.RuntimeException: An error occured while executing doInBackground()
01-03 13:14:14.865: E/AndroidRuntime(8783): at android.os.AsyncTask$3.done(AsyncTask.java:278)
01-03 13:14:14.865: E/AndroidRuntime(8783): at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
01-03 13:14:14.865: E/AndroidRuntime(8783): at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
01-03 13:14:14.865: E/AndroidRuntime(8783): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
01-03 13:14:14.865: E/AndroidRuntime(8783): at java.util.concurrent.FutureTask.run(FutureTask.java:137)
01-03 13:14:14.865: E/AndroidRuntime(8783): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:208)
01-03 13:14:14.865: E/AndroidRuntime(8783): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
01-03 13:14:14.865: E/AndroidRuntime(8783): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
01-03 13:14:14.865: E/AndroidRuntime(8783): at java.lang.Thread.run(Thread.java:864)
01-03 13:14:14.865: E/AndroidRuntime(8783): Caused by: java.lang.ArrayIndexOutOfBoundsException: length=2; index=2
01-03 13:14:14.865: E/AndroidRuntime(8783): at com.creative.dexplorer.MainActivity$listFiles.doInBackground(MainActivity.java:78)
01-03 13:14:14.865: E/AndroidRuntime(8783): at com.creative.dexplorer.MainActivity$listFiles.doInBackground(MainActivity.java:1)
01-03 13:14:14.865: E/AndroidRuntime(8783): at android.os.AsyncTask$2.call(AsyncTask.java:264)
01-03 13:14:14.865: E/AndroidRuntime(8783): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
01-03 13:14:14.865: E/AndroidRuntime(8783): ... 5 more
Voici le code :
protected Void doInBackground(Void... arg0) {
// On récupère la liste des fichiers du nouveau répertoire
File f2 = new File(aFile);
File[] fichiers = f2.listFiles();
int i = 0;
// Si le répertoire n'est pas vide...
if(fichiers != null)
// On les ajoute à l'adaptateur
for(File f : fichiers)
{
list[i] = f.toString(); i++;
Log.v("$$$$$###########$$$$$", "File : " + f.toString());
}
// Et on trie l'adaptateur
return null;
}
list[i] est un tableau de string pour pouvoir apres faire une listview.
static List<String> list = new ArrayList<String>();
[Android] Lister les fichiers d'un repertoire.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.