我試圖通過ListAdapter列出SD卡中的所有文件夾。但我得到運行時異常@item.add(file.getName() + "/");
。有沒有更好的方法將File[]
轉換爲List<String>
?一個更好的方法來轉換文件`[]``到列表<String>`
private List <String> item = null;
String extState = Environment.getExternalStorageState();
if (!extState.equals(Environment.MEDIA_MOUNTED)) {
....
} else {
File sd = Environment.getExternalStorageDirectory();
FileFilter filterDirectoriesOnly = new FileFilter() {
public boolean accept(File file) {
return file.isDirectory();
}
};
File[] sdDirectories = sd.listFiles(filterDirectoriesOnly);
for (int i = 0; i < sdDirectories.length; i++) {
File file = sdDirectories[i];
item.add(file.getName() + "/");
}
ArrayAdapter <String> fileList = new ArrayAdapter <String>(this, R.layout.row, item);
setListAdapter(fileList);
}
filter'filterDirectoriesOnly'不能與'sd.list()'一起使用。 – 2012-02-24 05:15:05
@BinoyBabu - 你說得對,那只有在你可以通過文件名進行過濾時纔有效:\ – 2012-02-24 15:19:44
你知道鋤頭要做到嗎? – 2012-02-24 15:37:19