如何仅列出最后修改的pdf文件?

时间:2019-05-08 07:04:12

标签: android list file pdf last-modified

我只想在目录中列出最后修改的pdf文件。这是我的适配器:

我试图在下面的代码中添加过滤器。但是将所有文件都移到我的列表中,而不是最后修改的pdf文件。我在做什么错了?

public static ArrayList<File> mList;
    private static final String EXT = ".pdf";
    NavController navController;
    Context context;

    public PdfRecentListAdapter(Activity activity) {
        this.context = activity;
        mList = new ArrayList<>();
        refreshRecent(Common.STORAGE_DIRECTORY);
        navController = Navigation.findNavController(activity, R.id.my_nav_host_fragment);
    }

    public void refreshRecent(File dir) {

        File fileList[] = dir.listFiles();

        if (fileList == null) {
            return;
        }

        for (File file : fileList) {
            if (file.isDirectory()) {
                refreshRecent(file);
            } else if (file.getName().endsWith(EXT)) {
                Arrays.sort(fileList, LASTMODIFIED_REVERSE);
                mList.add(file);
            }
        }

    }

1 个答案:

答案 0 :(得分:1)

尝试一下:

可能对您有用!

Arrays.sort(files, new Comparator() {
                @SuppressWarnings("UseCompareMethod")
                public int compare(Object o1, Object o2) {
                    if (((File) o1).lastModified() > ((File) o2).lastModified()) {
                        return -1;
                    } else if (((File) o1).lastModified() < ((File) o2).lastModified()) {
                        return +1;
                    } else {
                        return 0;
                    }
                }
            });