2013-12-08 59 views
2

我正在開發一個應用程序,該應用程序必須在gridview中顯示differents文件夾的圖像,但我不知道我需要做什麼來獲取列表中的文件名稱位於「可繪製」的文件夾內。JAVA ANDROID - 獲取文件夾的列表文件

請幫我

感謝您的時間

+1

是谷歌再次下調? Sheesh – Simon

+0

是什麼?存在另一個更適合android開發者的論壇? – Francisco

+1

是的,Google。 http://bit.ly/1iNmAYs。或者在這裏搜索,http://stackoverflow.com/search?q=android+get+list+of+files+in+目錄。請在詢問之前始終搜索,尤其是對於簡單的問題。 – Simon

回答

9

這種方法會給你包含目錄的文件夾,也分文件夾列表列表:

public void listf(String directoryName, ArrayList<File> files) { 
File directory = new File(directoryName); 

// get all the files from a directory 
File[] fList = directory.listFiles(); 
for (File file : fList) { 
    if (file.isFile()) { 
     files.add(file); 
    } else if (file.isDirectory()) { 
     listf(file.getAbsolutePath(), files); 
    } 
} 
} 
+0

我在另一篇文章中看到了這個,但是我怎樣才能把de目錄「drawable」放在項目中? – Francisco

+0

你的目錄必須是這樣的:'res/drawable' –

0

首先WIRTE這種方法AsyncTask類。

private List<File> getListFiles(File parentDir) { 
     ArrayList<File> inFiles = new ArrayList<File>(); 
     File[] files = parentDir.listFiles(); 
     for (File file : files) { 
      if (file.isDirectory()) { 
       if(file.getName().toString().toLowerCase().contains(fileNameToSearch.toLowerCase()) || file.getName().toString().toUpperCase().contains(fileNameToSearch.toUpperCase())){ 
        inFiles.add(file); 
       }else { 
        inFiles.addAll(getListFiles(file)); 
       } 
      } else { 
       if(file.getName().toString().toLowerCase().contains(fileNameToSearch.toLowerCase()) || file.getName().toString().toUpperCase().contains(fileNameToSearch.toUpperCase())){ 
        inFiles.add(file); 
       } 
      } 
     } 
     return inFiles; 
    } 

呼叫從doINbackground這種方法...()

List<File> files = getListFiles(new File(directoryPath)); 
相關問題