Android: how to get a directory list ordered by name or by date descending?

后端 未结 9 644
轮回少年
轮回少年 2020-12-30 09:48

I\'m able to do this:

    File images = new File(path);  
    File[] imageList = images.listFiles(new FilenameFilter(){  
        public boolean accept(File          


        
9条回答
  •  时光说笑
    2020-12-30 10:15

    final File[] sortedFileName = images.listFiles()
    
    if (sortedFileName != null && sortedFileName.length > 1) {
            Arrays.sort(sortedFileName, new Comparator() {
                 @Override
                 public int compare(File object1, File object2) {
                    return object1.getName().compareTo(object2.getName());
                 }
        });
    }
    

    Use Array.sort() to compare the name of the files.

    Edit: Use this code to sort by date

    final File[] sortedByDate = folder.listFiles();
    
    if (sortedByDate != null && sortedByDate.length > 1) {
            Arrays.sort(sortedByDate, new Comparator() {
                 @Override
                 public int compare(File object1, File object2) {
                    return (int) ((object1.lastModified() > object2.lastModified()) ? object1.lastModified(): object2.lastModified());
                 }
        });
    }
    

提交回复
热议问题