2017-03-21 105 views
0

我有壁紙應用程序,它具有圖像保存功能,我們正在收集菜單中顯示該圖像。我想先將它顯示爲新保存的。有沒有機會訂購這樣的圖像?我從數據文件夾獲取圖像的代碼如下所示。按時間獲取圖像順序android

public void getImages() 
{ 
    File root = new File(Environment.getExternalStorageDirectory()+File.separator+"KaroShare/"); 
    File[] images = root.listFiles(); 
    arrayList.clear(); 
    if(images!=null){ 
     for(int i=0;i<images.length;i++) { 
      if(images[i].getName().endsWith(".png") || images[i].getName().endsWith(".jpg") || 
        images[i].getName().endsWith(".jpeg")) { 
       String path = images[i].getAbsolutePath(); 
       arrayList.add(path); 
      } 
     } 
    } 
} 

讓我知道是否有人有想法做到這一點。非常感謝 !

+0

我想你知道鏈表陣列上。使用鏈接的第一個數組。 –

回答

1

您可以使用currentFile.lastModified()對文件進行排序。

+1

你能解釋一下嗎? – Priya

+0

https://docs.oracle.com/javase/7/docs/api/java/io/File.html#lastModified() –

0

試試這個

public void getImages() 
    { 
     File root = new File(Environment.getExternalStorageDirectory()+File.separator+"KaroShare/"); 
     File[] images = root.listFiles(); 
     arrayList.clear(); 
     if(images!=null){ 
     Arrays.sort(images, new Comparator() 
      { 
      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; 
      } 
     } 

    }); 
      for(int i=0;i<images.length;i++) { 
       if(images[i].getName().endsWith(".png") || images[i].getName().endsWith(".jpg") || 
         images[i].getName().endsWith(".jpeg")) { 
        String path = images[i].getAbsolutePath(); 
        arrayList.add(path); 
       } 
      } 

     } 
    } 
+0

編輯我的答案 –