Как я могу перечислить только последние измененные файлы PDF? - PullRequest
0 голосов
/ 08 мая 2019

Я хочу перечислить только последние измененные 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 Ответ

1 голос
/ 08 мая 2019

Попробуйте это:

Может быть полезно вам!

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;
                    }
                }
            });
...