我想获取具有排序的filePath的数组。我已经设法获得了具有以下文件名的排序数组:
fileList.addAll(Arrays.asList(curFolder.list()));
Collections.sort(fileList);
我知道这种获取文件路径的方法:
folder.listFiles()
我也知道我可以按名称或日期对所有文件路径进行排序,但是我没有做到这一点。最后,我将以下路径添加到我的recyclerView适配器中:
FileManagerAdapter fileManagerAdapter = new FileManagerAdapter(this, (ArrayList<String>) fileList, curFolder.listFiles());
也许我必须在适配器上获取文件路径或什么?我希望你能帮助我:)
答案 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]