2015-09-04 88 views
0

我在一個listActivity中工作,我試圖顯示給定目錄的子項。下面是我試圖獲得給定目錄的孩子:file.lis()返回「null」,儘管它不應該

File currentFile = new File(Environment.getExternalStorageDirectory(), "Pictures"); 
    String[] children = currentFile.list(); 

事實上,「孩子」是空,我不知道爲什麼。當我詢問「currentFile」的絕對路徑時,答案是「/ storage/emulated/0/Pictures」。

感謝您的幫助!

+0

文件稱**結果爲空,如果這個文件不是一個目錄**。嘗試'File path = Environment.getExternalStoragePublicDirectory( Environment.DIRECTORY_PICTURES);' – Raghunandan

+0

只需添加'if(currentFile.exists()&& currentFile.isDirectory()){String [] children = currentFile.list(); }「檢查你的自我 –

+0

謝謝你的回答,但它不起作用: 」currentFile.exists()「返回」true「, 」currentFile.isDirectory()也返回「true」,但仍然 「children = = null「返回」真「... –

回答

0

確保該文件夾存在,並檢查是否已將該權限添加到清單。

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 

,如果你是在Android m跑,你就需要申請運行時權限

https://developer.android.com/preview/features/runtime-permissions.html#coding

+0

謝謝,但我已經添加了我的清單的權限(別人也有堆棧溢出同樣的問題) –

+0

那麼,你運行Android M嗎?即版本23或Android 6.0 –

+0

不,我不是,我的Android版本只是5.0.2 –

相關問題