как перечислить файлы в каталоге? - PullRequest
1 голос
/ 13 ноября 2011

Я новичок в разработке для Android, поэтому, пожалуйста, прости меня, если это легко сделать.

Я хочу получить все файлы в каталоге на SD-карте и отобразить их в спиннер, но япросто не могу понять, как.это то, что у меня есть, и я даже не знаю, хорошо ли что-нибудь из этого.

//creates this directory if its not there??     
File sd = new File("/sdcard/myfolder");

                 //gets a list of the files
                 File[] sdDirList = sd.listFiles(); 

                 //add them to the spinner array (this makes it crash)
                 for(int i=0;i<sdDirList.length;i++) 
                 array_spinnerLoad[i] = sdDirList[i].getName();

так, где я иду не так?какая-нибудь полезная ссылка на простой в использовании учебник в любом месте?это не должен быть счетчик, просто какой-то список, который я могу выбрать из

спасибо:)

редактировать: с этим не происходит сбой, но массив счетчиков не заполнен

File[] sdDirList = sd.listFiles(); 
             if (sdDirList != null)
             {
                 array_spinnerLoad=new String[sdDirList.length];

             for(int i=0;i<sdDirList.length;i++)

             array_spinnerLoad[i] = sdDirList[i].getName();
         }

1 Ответ

4 голосов
/ 13 ноября 2011

Если /sdcard/myfolder не существует или не является каталогом, то listFiles возвращает null. Вы, вероятно, сбой с NPE. Вы можете использовать exists() и isDirectory() для диагностики того, что не так. (Плюс, вы можете проверить это sdDirList != null.)

P.S. Это поможет вам получить более точные ответы, чтобы опубликовать подробную информацию о сбое - например, исключение.

...