我正在使用Gallery3D代碼但希望它只顯示SD上的子文件夾中的圖像,而不是顯示存儲在其上的所有圖像中的圖像。要做到這一點,我試圖改變Uri from FilePath
public static final Uri STORAGE_URI = Images.Media.EXTERNAL_CONTENT_URI;
到
public static final Uri STORAGE_URI = Uri.fromFile(new File(ROOT_DIR));
,
其中
,但我想這是一個轉變content://
-uri到file://
-uri這可能是一個問題?
在任何情況下,它都不起作用:-(!而不是僅顯示ROOT_DIR
-目錄及其子目錄中的圖像,它根本不顯示圖像(「圖庫爲空」)。在正確的方向,以什麼我做錯了嗎?
謝謝,Brian。不幸的是,這也不起作用。我只看到'withAppendedPath'與String一起用作路徑,例如'Uri u2 = Uri.withAppendedPath(u,「1」);'這使得u2:'content:// media/external/images/media/1',我不認爲實際的Uri編碼路徑是有效的基地的擴展 - Uri?我想我需要通過filepath篩選'MediaStore.Images.Media.DATA'-Column ......不知何故? – Nick 2010-09-25 19:25:49
我曾建議使用'Uri.encode()',因爲'pathSegment'的文檔表示需要一個「編碼的路徑段來追加」。我用另一個建議編輯了我的答案。 – Brian 2010-09-25 22:37:58
感謝您的編輯。我已經嘗試將攝像機存儲桶更改爲我的目錄(而不是將它放在'/ DCIM'處),但是這段代碼似乎只是處理相應攝像機文件夾中的攝像機標籤和圖標(即是否顯示一個「相機」 - 圖標或一個正常的「文件夾」 - 圖標)。 – Nick 2010-09-27 00:16:23