我只想在目录中列出最后修改的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);
}
}
}
答案 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;
}
}
});