在我的代碼中,我顯示了從gridview中的sdcard中獲取的圖像。現在我希望圖像按升序排列的最後修改日期排序。我嘗試使用Collections。排序和比較。但它顯示錯誤。 她是我的代碼 蔭本根據日期對圖像進行排序並在gridview中顯示
ArrayList<String> f = new ArrayList<String>();
File[] listFile;
String ExternalStorageDirectoryPath = Environment
.getExternalStorageDirectory().getAbsolutePath();
String targetPath = ExternalStorageDirectoryPath + "/saved_images";
File targetDirector = new File(targetPath);
imageList = new ArrayList<String>();
File[] files = targetDirector.listFiles();
for (File i : files) {
imageList.add(i.getAbsolutePath());
}
檢索從SD卡的圖片,我試圖collections.sort比較對列表進行排序基於日期
Collections.sort(imageList,new Comparator<Object>()
{
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;
}
}
});
lazyloadadapter = new LazyLoadAdapter(getActivity(), imageList);
gV.setAdapter(lazyloadadapter);
但IAM獲得的Java錯誤。 lang.ClasscastEception字符串不能轉換爲文件。
java.lang中。ClassCastException錯誤 – Viveka 2014-11-06 10:12:25
請準備您的查詢以使用MediaStore.Images.Media.query()檢查獲取排序的列表圖像:http://stackoverflow.com/questions/13824233/how-to-list-images-on-sd-card-按照時間排序 – 2014-11-06 10:14:53