如何获取带有文件路径的android排序数组?

时间:2019-04-22 08:15:38

标签: android file

我想获取具有排序的filePath的数组。我已经设法获得了具有以下文件名的排序数组:

fileList.addAll(Arrays.asList(curFolder.list()));
Collections.sort(fileList);

我知道这种获取文件路径的方法:

folder.listFiles()

我也知道我可以按名称或日期对所有文件路径进行排序,但是我没有做到这一点。最后,我将以下路径添加到我的recyclerView适配器中:

FileManagerAdapter fileManagerAdapter = new FileManagerAdapter(this, (ArrayList<String>) fileList, curFolder.listFiles());

也许我必须在适配器上获取文件路径或什么?我希望你能帮助我:)

1 个答案:

答案 0 :(得分:0)

我已经解决了我的问题:

File[] files = curFolder.listFiles();

Arrays.sort(files, (f1, f2) -> {
if (f1.isDirectory() && !f2.isDirectory()) {
return -1;
} else if (!f1.isDirectory() && f2.isDirectory()) {
return 1;
} else {
return f1.compareTo(f2);
}
});

结果:

[/storage/emulated/0/Alarms, /storage/emulated/0/Android, /storage/emulated/0/DCIM, /storage/emulated/0/Download, /storage/emulated/0/Jobnetzwerk, /storage/emulated/0/Movies, /storage/emulated/0/Music, /storage/emulated/0/Notifications, /storage/emulated/0/Pictures, /storage/emulated/0/Podcasts, /storage/emulated/0/Ringtones]