2015-05-30 7 views
-2

Я использую ArrayList для хранения списка файлов в папке для использования в качестве адаптера для ListView. Однако я хочу исключить вложенные папки из списка, но не знаю, как это сделать. Может ли кто-нибудь посоветовать?Исключить каталоги из списка файлов в ArrayList?

Мой существующий код:

File f = new File(sourcePath); 
ArrayList<String> elements = new ArrayList<String>(Arrays.asList(f.list())); 
ListView lv = (ListView) findViewById(R.id.listView1); 
my_custom_adapter adapter = new my_custom_adapter(this, android.R.layout.simple_list_item_1, elements); 
lv.setAdapter(adapter); 
+0

просто цикл, хотя список из вашего Ф.Листа () и исключить тот, который не отменяет метод isDirectory(). – faljbour

+0

Я не уверен, что вы подразумеваете под этим. Вы имеете в виду цикл через ArrayList? Я не мог использовать метод isDirectory для элемента String ArrayList. –

+0

Извините за то, что вы медленны, но что будет делать код для прокрутки f.list и удаления выбранных элементов? –

ответ

0

вот пример того, как вы можете заполнить ваши ArrayList элементы с только имена файлов,

ArrayList elements = new ArrayList(); 
File[] fls = f.listFiles(sourcePath); 
for(int i=0; i<fls.length; i++) 
{ 
    if(fls[i].isDirectory() == false) 
    elements.add(fls[i].getPath()); 
} 
+0

Этот код дает ошибку на sourcePath в строке 2 - «Не удается разрешить список методовФайлы (java .lang.String) "??? –

+0

Все нормально .listFiles() работает. Спасибо за вашу помощь –

Смежные вопросы