ListAdapter経由ですべてのフォルダをsdcardにリストしようとしています。しかし、実行時の例外@item.add(file.getName() + "/");
が発生しています。 File[]
をList<String>
に変換するより良い方法はありますか?`File []`を `List <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);
}
フィルタ 'filterDirectoriesOnly'は' sd.list() 'では動作しません。 –
@BinoyBabu - そうだね、それはファイル名でフィルタリングできる場合にのみ機能します:\ –
あなたはそれを行うために鍬を知っていますか? –